05. august 2004 - 16:31
Der er
18 kommentarer
Fejl i update af db!
her er koden: <body> <b>Gammel Data!</b> <? //Db'en kontaktes! include("db.php"); $result = mysql_query("SELECT * FROM users order by total_points desc"); ?> <table border="1" cellspacing="3" cellpadding="3"> <? echo "<tr><td><b>Dríver</b><td><b>Team</b><td><b>Poles</b><td><b>Completed Races</b><td><b>Total Points</b></tr>"; while ($myrow = mysql_fetch_array($result)) { echo "<tr><td>"; echo $myrow["driver"]; echo "</td>"; echo "<td>"; echo $myrow["team"]; echo "</td>"; echo "<td>"; echo $myrow["poles"]; echo "</td>"; echo "<td>"; echo $myrow["completed_races"]; echo "</td>"; echo "<td>"; echo $myrow["total_points"]; echo "</td>"; } echo "</table>"; ?> <? $driver = $_POST['driver']; ?> <b>NY Data!</b> <form name="input" method="post" action="data_change.php"> <table width="100%" border="0" cellspacing="0" cellpadding="4"> <tr> <td width="24%" align="left" valign="top">Poles!</td> <td width="76%"><input name="poles" type="text" id="poles"></td> </tr> <tr> <td align="left" valign="top">Completed Races</td> <td><input name="completed_races" type="text" id="completed_races"></td> </tr> <tr> <td align="left" valign="top">Total Points</td> <td><input name="total_points" type="text" id="total_points"></td> </tr> <tr> <td align="left" valign="top"> </td> <td><input type="submit" name="Submit" value="Send"></td> </tr> </table> </form> <? //Lav variabler fra formen på siden. $poles = $_POST['poles']; $completed_races = $_POST['completed_races']; $total_points = $_POST['total_points']; $sql = mysql_query("UPDATE users SET poles='$poles' WHERE userid='$driver'"); ?> </body> Den opdaterer bare ikke hjemmesiden med den nye $poles, hvis jeg skriver et tal i stedet for $driver i update linjen virker det. Har testet om variablen $driver bliver sat til et tal, og det gør den. Hvad gør jeg forkert? //SalmanR
Annonceindlæg fra Thinkwise
05. august 2004 - 16:37
#1
$sql = mysql_query("UPDATE users SET poles='$poles' WHERE userid=$driver"); Pröv at körr denne.
05. august 2004 - 16:40
#2
Sker heller ikke noget.
05. august 2004 - 16:42
#3
echo $sql; Pröv at udskrive stringen og se hvad der står.
05. august 2004 - 16:43
#4
Den skriver 1
05. august 2004 - 16:43
#5
$sql = mysql_query("UPDATE users SET poles='$poles' WHERE userid='$driver'") or die(mysql_query()); Se om stringen er OK med denne.
05. august 2004 - 16:45
#6
desværre sker heller ikke noget.
05. august 2004 - 16:48
#7
Er der ikke noget der hedder int($driver), der sikrer at det er en int?
05. august 2004 - 16:49
#8
ved ikke hvad du mener skal jeg laver $driver om til en integer før det virker?
05. august 2004 - 16:56
#9
Virker det med et hårdkodet tal, så burde denne her altså også virke: $sql = mysql_query("UPDATE users SET poles='$poles' WHERE userid=$driver") or die(mysql_query()); Hvor får du $_POST['driver']; fra?
05. august 2004 - 16:57
#10
Den får fra denne side: <body> <? //Først kontakt til db'en! include("db.php"); $sql="SELECT userid, driver FROM users"; $result=mysql_query($sql); $options=""; while ($row=mysql_fetch_array($result)) { $id=$row["userid"]; $driver=$row["driver"]; $options.="<OPTION VALUE=\"$id\">".$driver; } ?> <div align="center"> <form name="driver" action="data_change.php" method="POST"> <SELECT NAME=driver> <OPTION VALUE=0>DRIVERS! <?=$options?> </SELECT> <br><input type="submit" value="Vælg!"><br> </div> </body> </html>
05. august 2004 - 17:04
#11
<? if(isset($_POST['Submit'])){ //Lav variabler fra formen på siden. $poles = $_POST['poles']; $completed_races = $_POST['completed_races']; $total_points = $_POST['total_points']; $sql = mysql_query("UPDATE users SET poles='$poles' WHERE userid=$driver") or die(mysql_query()); } ?> Ved ikke om du har denne, men der skal vel ske noget når du trykker på submit.
05. august 2004 - 17:07
#12
samme resultat.
05. august 2004 - 17:09
#13
Pröv at se om den ikke opdaterer i databasen.
05. august 2004 - 17:10
#14
gør den ikke, den opdater kun hvis jeg smider et tal ind på $driver's plads.
05. august 2004 - 17:16
#15
$sql = mysql_query("UPDATE users SET poles='$poles' WHERE userid=int($driver)") or die(mysql_query()); Se om den köber denne, ellers ved jeg ikke hvad der er galt.
05. august 2004 - 17:17
#16
desværre, du skal have tak though jeg må gribe det anderledes an.
05. august 2004 - 17:19
#17
Er poles også et tal? så pröv denne: $sql = mysql_query("UPDATE users SET poles=$poles WHERE userid=$driver") or die(mysql_query());
05. august 2004 - 17:21
#18
heller ikke
Vi tilbyder markedets bedste kurser inden for webudvikling