webForumDet fria alternativet

Lägga till data i mySQL

PHP

15 svar · 590 visningar · startad av Nina

Medlem sedan feb. 200358 inlägg
Frågan#1

Har lyckat efter mycket om och men och massor med hjälp knopat ihop en view och download counter, som jag tänkt använda till min grafik sida, utan några errors. Nu måste jag på någe sätt få in en colum där zip filerna ska lagras och layout räknaren in i databasen.
Testat och mixtrat med PHPMyAdmin men jag får det inte att fungera, kan den här koden men jag får inget in där som räknaren förstår. Tjejen som gjort tuten på koden skrev såhär till mig

what do u have inside your MySQL tables? do you at least have a column to store the layout zip file? So you need to store at least the layout zip file, layout counter in the MySQl db.

Tacksam gör hjälp, är helt nybörjare på det här

Medlem sedan feb. 200399 inlägg
#2

du menar att du ska lägga till en kolumn där namnen på zip-filerna lagras, men vad menar du med "layout räknaren"?? =/

Medlem sedan feb. 200358 inlägg
#3

Jo förlåt att jag förklarar så dåligt men inte riktigt haj på det ännu. Jo jag menar alltså en colum där zip filerna lagras, jag ska på hemsidan en thumb bild som man klickar och då ska det alltså räkna antalet view och laddar man ner så ska den räkna antalet ner laddningar.
Skickar med en länk så kanske lättare se hur jag menar den ska räkna.
http://www.daydreamgraphics.com/graphics/list/type/1

tacksam för hjälpen
/Nina

Medlem sedan feb. 200399 inlägg
#4

jag skulle no bara lagra namnen på zip-filerna i databasen och sedan ta fram datan när nån ska ladda ner den...

Medlem sedan feb. 200358 inlägg
#5

Ok, hur får jag gjort det? Försölt via PHPMyAdmin men det blir inga filer lagrat in där :/ Finns det något annat sätt jag kan får dne att räkna antalet klickar på en länk till view,alltså inte vi att klicka på en bild utan en textlänk?
tackar så mycket för hjälpen
/Nina

Medlem sedan feb. 200358 inlägg
#6

Just kanske skulle säga att tabellen som jag skapat till räknaren ser ut såhär
CREATE TABLE counter (
ID int(5) DEFAULT '0' NOT NULL auto_increment,
FileName varchar(50) NOT NULL,
FileURL varchar(255) NOT NULL,
Counter int(5) NOT NULL,
PRIMARY KEY (ID)
);

Inte helt säker om det har nå betydels ifall jag vill enbart lagra namen
/mvh Nina

Medlem sedan feb. 200399 inlägg
#7

lägg till en kolumn som heter t ex klicks, och sen kan du ju ha en sida vid namn view.php, som du sedan kallar på t ex så här:
view.php?id=123

koden som du har i den kan vara nåt sånt här:

$sql = "UPDATE tabell SET klicks=klicks+1 WHERE id='" . $_GET['id'] . "'";
$result = mysql_query($sql) or die(mysql_error());

sedan kan du ju hämta datan från den raden, och skriva ut bilden...

Medlem sedan feb. 200358 inlägg
#8

Min view.php ser ut såhär idag

<?php 
//database connection stuff here
$dbname = 'XXXXX';   // the name of the database 
$dbhost = 'localhost';   // 99% chances you won't need to change this value 
$dbusername = 'XXXXX';      // your MySQL username 
$dbpassword = 'XXXXX'; 

$connection=mysql_connect($dbhost, $dbusername, $dbpassword) or die(mysql_error()); 
$dbase=mysql_select_db($dbname) or die(mysql_error()); 

$q="SELECT * from counter order by Filename"; 
$result= mysql_query($q, $connection) or die 
("Could not execute query : $q <br" . mysql_error()); 

echo "<p align=center><b>Files Download</b></p>\n"; 
echo "<ol>\n"; 

while ($row=mysql_fetch_array($result)) 
{ 
   $id=$row["id"]; 
   $Filename=$row["Filename"]; 
   $FileURL=$row["FileURL"];
   $Counter =$row["Counter"];
    
   echo "<li><a href=download.php?id=$id>$Filename</a></li>\n"; 
} 

echo "</li>\n"; 

?>

Sen har jag en sida som heter download.php med


<?php 

// Database connection stuff here 
$dbname = 'XXXXX';   // the name of the database 
$dbhost = 'localhost';   // 99% chances you won't need to change this value 
$dbusername = 'XXXXX';      // your MySQL username 
$dbpassword = 'XXXXX'; 

$connection = mysql_connect($dbhost, $dbusername, $dbpassword); 
mysql_select_db($dbname, $connection); 

   

$q = "SELECT * from counter where id='$_id'";  

   $result= mysql_query($q, $connection) or die 
     ("Could not execute query 1 : $q <br>" . mysql_error()); 

while ($row=mysql_fetch_array($result))

{      

   $row = mysql_fetch_array($result); 
   $id = $row["id"]; 
   $FileURL = $row["FileURL"]; 
   $FileURL=$row["FileURL"];
   $Counter =$row["Counter"]; 
   

   $q = "update counter set Counter=Counter+1 where id='$id'"; 
   mysql_query($q, $connection) or die 
     ("Could not execute query 2 : $q <br>" . mysql_error()); 

   header("Location: $FileURL"); 
   
} 

?>
Medlem sedan feb. 200358 inlägg
#9

Fattar nada fortfarande, testat med olikam etoder men får inte sparat in nån länk i Sql tabellen, blir bara såhär
det här test länken http://soft.softwisper.net/graphics/view.php?id=123

http://soft.softwisper.net/graphics/test1.php

:o(

Medlem sedan feb. 200399 inlägg
#10

har du någon fil med id:n 123 i databasen??

Medlem sedan feb. 200399 inlägg
#11

nu fungerar det... har du fixat det eller?

Medlem sedan feb. 200358 inlägg
#12

Fungerar? Jag har inte,lyckats få in en fil i databasen ännu :( Den där ettan där kom när jag petade i PHPMyAdmin

Medlem sedan feb. 200399 inlägg
#13

det kommer iaf fram en bild på Alicia Keys när jag skrev in id=123... =/

Medlem sedan feb. 200358 inlägg
#14

Jo det kommer en bild men den räknar inte antalet klick och nerladdningar :(

Medlem sedan feb. 200358 inlägg
#15

Kikar runt på PHPMyAdmin och vet inte riktigt vart jag ska lägga in nått... Är det där det står values?
Så här står det när jag trycker på kör under utför SQLfråga

Visar insättningar 0 - 2 (2 totalt)

SQL-fråga : [Ändra]
SELECT * FROM `counter` WHERE 1 LIMIT 0, 30

Medlem sedan feb. 200358 inlägg
#16

Tacksam för hjälp

Nu har jag nog lyckats få upp URL till databasen men räknaren tycks inte räkna, den står på antoigen noll elelr vad jag nu själv ändrar den till i PHPMyAdmin.
Jag fick göra koden annorlunda för att inte enbart se en 1 i view filen så jag la allting ihop i en och samma istället.

<?php 

$dbname = '*****';   // the name of the database 
$dbhost = 'localhost';   // 99% chances you won't need to change this value 
$dbusername = '*****';      // your MySQL username 
$dbpassword = '*****'; 

$connection=mysql_connect($dbhost, $dbusername, $dbpassword) or die(mysql_error()); 
$dbase=mysql_select_db($dbname) or die(mysql_error()); 

$q = "SELECT * from counter order by FileName ";

$result= mysql_query($q, $connection) or die 
("Could not execute query : $q." . mysql_error());

// dynamic navigation variables
$rows_per_page=5; // adjust the number here to display number of entries per page 
$total_records=mysql_num_rows($result);
$pages = ceil($total_records / $rows_per_page);
mysql_free_result($result);

if (!isset($screen))
$screen=0;
$start = $screen * $rows_per_page;
$q .= "LIMIT $start, $rows_per_page";
$result= mysql_query($q, $connection) or die 
("Could not execute query : $q." . mysql_error());

while ($row=mysql_fetch_array($result))
{
$id=$row["id"];
$Filename=$row["FileName"];
$FileURL=$row["FileURL"];
$Counter =$row["Counter"];
$viewurl =$row["viewurl"];

?>

<link rel="stylesheet" href="my.css" type="text/css">
<p class="head">Iframe layouter<p class="content">
<table border="1" cellpadding="0" cellspacing="0" 
style="border-collapse: collapse" width="52%" class="table">
  <tr>
    <td width="42%">
<img border="0" src="britneythumb.jpg" width="180" height="130">
    </td>
    <td width="58%" valign="top">
    <p align="center"><font face="Trebuchet MS" size="2">Britney</font></p><p>
<a href="<?php echo "$viewurl"; ?>">View</a> × antalet gånger <?php echo "$Counter"; ?><br>
<a href="<?php echo "$FileURL"; ?>">Download</a> antalet gånger<?php echo "$Counter"; ?></a><p>

<br>
<p>
<a href="<?php echo "$FileURL"; ?>">Test</a> [<?php echo "$Counter"; ?>]

</table>

<p align="center">

<?php
}

// Display dynamic navigation here

// create the dynamic links
if ($screen > 0) {
$j = $screen - 1;
$url = "$PHP_SELF?screen=$j";
echo "<a href=\"$url\">Prev</a>";
}

// page numbering links now

for ($i = 0; $i < $pages; $i++) {
$url = "$PHP_SELF?screen=" . $i;
$j = $i + 1;
echo " | <a href=\"$url\">$j</a> | ";
}

if ($screen < $pages-1) {
$j = $screen + 1;
$url = "$PHP_SELF?screen=$j";
echo "<a href=\"$url\">Next</a>";
}

?>

Länken till sidan som den ser ut nu

Om jag enbart använder view sidan så ser den ut Såhär

Tacksam för tips
/Nina

277 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)