Avatar billede torstein Novice
12. januar 2003 - 12:40 Der er 5 kommentarer og
1 løsning

Hvorfor vil den ikke opdatere mine data.

Hej, jeg har stirret mig blind på flg. Jeg kan ikke finde ud af hvorfor den ikke vil opdatere tabellen lotto med de indtastede gevinster, som jeg sætter ind.

<?
session_start();
include ("sql.php");
?>
<link rel='stylesheet' href='stylesheet.css' type='text/css' title='style sheet'>
<?


        if ($action2=="opdater"){
        mysql_query("UPDATE lotto SET gevinst_first = '$gevinst_first', gevinst_second = '$gevinst_second', gevinst_third = '$gevinst_third', gevinst_fourth = '$gevinst_fourth', gevinst_fifth = '$gevinst_fifth' WHERE id LIKE '$row[id]'")  or die(mysql_error()); 
        echo "Opdateret!!";    exit;}
       
      if ($action=="opdater"){
     
$resultat = mysql_query("select * from lotto WHERE year LIKE '$year' AND week LIKE '$week'")  or die(mysql_error()); 
$number = mysql_num_rows($resultat);

if(!$number){
echo "Der er IKKE indtastet lottotal og præmier for uge ".$week."/".$year."<br><br>";?><br><br>

<a href="indtast_lotto.php">Indtast lottotal og gevinster for uge <?echo $week."/".$year;?></a>
<?exit;}
if ($number){?>
<?
        while ($row = mysql_fetch_array($resultat)) {
?>

<b><font color="#990000">Vejledning:</font></b><br>
Indtast antallet af de forskellige præmier vi har haft i denne uge..<br><br>

Præmierne for uge <?echo $week."/".$year;?>:<br><br>
<form action="<? echo $php_self; ?>" method="post">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>Præmier</td>
    <td>kr.</td>
    <td>Indtast antal</td>
</tr>
<tr>
    <td>7 vindertal</td>
    <td><p align="right"><? echo $row[first_price];?></p></td>
    <td><input type="text" name="gevinst_first" size =10 value=""></td>
</tr>
<tr>
    <td>6 vindertal +1</td>
    <td><p align="right"><? echo $row[second_price];?></p></td>
    <td><input type="text" name="gevinst_second" size =10 value=""></td>
</tr>
<tr>
    <td>6 vindertal</td>
    <td><p align="right"><? echo $row[third_price];?></p></td>
    <td><input type="text" name="gevinst_third" size =10 value=""></td>
</tr>
<tr>
    <td>5 vindertal</td>
    <td><p align="right"><? echo $row[fourth_price];?></p></td>
    <td><input type="text" name="gevinst_fourth" size =10 value=""></td>
</tr>
<tr>
    <td>4 vindertal</td>
    <td><p align="right"><? echo $row[fifth_price];?></p></td>
    <td><input type="text" name="gevinst_fifth" size =10 value=""></td>
</tr><?}?>
</table>
<input type="submit" name="action2" size=10 value="opdater"></form><? };exit;}?>
<?
// Søg efter ugenummer og år i DB week
?>
<form action="<? echo $php_self; ?>" method="post">
<table border=0 width=100%>
<tr>
<td width=30%>Årstal: <br>Ugenr.:</td>
<td width=70%>
<input type="text" name="year" size =10 value="2003"><br>
<?
$uge = mysql_query("select * from week order by ugenr asc")  or die(mysql_error());
$number2 = mysql_num_rows($uge);
?>
<select size="1" name="week"><option selected value></option>
<?   
while ($row = mysql_fetch_array($uge)) {
?>
<option value="<? echo $row[ugenr];?>"><? echo $row[ugenr];}?></option>
</select><br>
</td>
</tr></table>
<div align="center"><input type="submit" name="action" size=10 value="opdater"></div></form>
Avatar billede erikjacobsen Ekspert
12. januar 2003 - 12:59 #1
<div align="center"><input type="submit" name="action2" size=10 value="opdater"></div></form>
Avatar billede torstein Novice
12. januar 2003 - 13:12 #2
Hej Erik,
den hedder jo action2 længere oppe, den sidste form henter bare ugenummeret og året.....
Avatar billede erikjacobsen Ekspert
12. januar 2003 - 16:27 #3
Det kan du jo have ret i. Det er jo rimeligt uoverskueligt som du
har stillet det op.

Hvad udskriver en

  print "action2 = $action2<br>";

hvis du sætter den som noget af det første. Det kræver forøvrigt
også at man trykker på knappen, og ikke bare trykker retur i
et input-felt.
Avatar billede torstein Novice
12. januar 2003 - 19:35 #4
Der er ikke noget med print.
Den 1. action igangsætter søgningen i databasen week efter præmier for en indtastede uge.
Action2 skal ved tryk opdatere antallet af præmier som indsættes i inputs ud for hver enkelt af de for omtale præmier, som er hentet og printet.
Men jeg får ikke nogen opdatering i databasen, på trods af at jeg har prøvet at se om den fører variablerne (ny_gevinst_first, ny_gevinst_second.....) over, hvilket den gør.
Avatar billede torstein Novice
12. januar 2003 - 20:05 #5
Og lidt tillæg:

hvordan laves et input/selectfelt, som søger, når der trykker retur i stedet for på knappen?
Avatar billede torstein Novice
12. januar 2003 - 20:26 #6
Fejlen er fundet:
mysql_query("UPDATE lotto SET gevinst_first = '$gevinst_first', gevinst_second = '$gevinst_second', gevinst_third = '$gevinst_third', gevinst_fourth = '$gevinst_fourth', gevinst_fifth = '$gevinst_fifth' WHERE id LIKE '$row[id]'")  or die(mysql_error()); 
        echo "Opdateret!!";    exit;}
where id LIKE '$id' i stedet....

Jeg efterlader 10 pts hvis du kan forklare min kommentar fra kl. 20:05:27
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester