08. marts 2011 - 22:22
Der er
9 kommentarer
Hjælp til databaseopdatering
Hej er der nogen der kan hjælpe her jeg vil gerne have min kalender til at vise aktuel måned når siden åbnes. Jeg får denne meddelse når jeg åbner siden You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and aar =' at line 1 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /volume1/web/liste kalender/vis_kalender.php on line 61 der hentes data ID,dato,maaned,ugedagnavn,beskrivelse fra MySQL Koden er her <?PHP require_once("farver.php"); include("connect.php"); // Måned på året 1-12 // $md = date("n"); // Årstal (4-cifret) 2011 // $aar = date("Y"); ?> <div align="center"> <form method="post" action="<?php $_SERVER['PHP_SELF'] ?>"> Vælg Dag:: <?php dag(); ?> Vælg Måned: <?php maaned(); ?> Vælg År: <?php aar(); ?> <input type="hidden" name="op" value="ds"> <input type="submit" name="submit" value="Vælg Måned / År"> </form> </div> <?php //viser overskrift tabel Print "<table width=561 align=center border='0'> <tr bgcolor=" . farve() . "\n> <td width=33>id</td> <td width=17>Dato</td> <td width=16>Måned</td> <td width=32>aar</td> <td width=56>navn</td> <td width=303>beskrivelse</td> <td width=47>ret</td> </tr> </table>"; $resultat = mysql_query("SELECT * FROM kalender "."WHERE id = id and maaned = $md and aar = $aar"); Print mysql_error(); while($post = mysql_fetch_array($resultat)){ //Sætter måneds navn ind //pos 0 1 2 3 4 5 6 7 8 9 10 11 12 $maaneder = array("dommy","Januar","Februar","Marts","April","Maj","Juni","Juli","August","Oktber","September","November","December",); $aktuel_maaned = $post[maaned]; //echo $maaneder[$aktuel_maaned]; //Skriv resultat //Skriver kalender data på skærm Print "<table border=0 width=650 align=center> <table border=0 width=561 ALIGN=center id=table1> <tr bgcolor=" . farve() . "\n> <td width=33>$post[id]</td> <td width=17 align=right>$post[dag]</td> <td width=16>$maaneder[$aktuel_maaned]</td> <td width=32>$post[aar]</td> <td width=56>$post[dag_navn]</td> <td width=303>$post[event]</td> <td width=47><a href=\"rediger_vare_form.php?id=$post[id]\">Ret<?=$post[id];?></a></td> </tr> </table>"; } exit; ?> <?php /******************/ //funktion til år /******************/ function aar(){ echo "<select name=\"aar\">\n"; //år loop - der er mulighed for at indtaste 1 gamle år $aar = date("Y")-1; //årstal med 4 cife f.eks 2010 $detteaar = date("Y"); for($i = $aar; $i < ($aar+10); $i++){ // indsæt antal aar +10 = 10 år if($i == $detteaar){ echo"<option value=$i Selected>$i</option>\n"; }else{ echo"<option value=$i>$i</option>\n"; } } echo "</select>\n"; } /******************/ //funktion til måned /******************/ function maaned(){ echo "<select name=\"md\">\n"; $dkmdr = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"); $mdnu = date("m"); //måned med 2 cifre f.eks 01 - 12 $md = $mdnu; //sættes til næste måned for($j = 1; $j <= 9; $j++){ $x = $j-1; //til brug for måneds array if($j == $md){ echo"<option value=\"0".$j."\" Selected>$dkmdr[$x] ($j)</option>\n"; }else{ echo"<option value=\"0".$j."\">$dkmdr[$x] ($j)</option>\n"; } } for($j = 10; $j <= 12; $j++){ $x = $j-1; //til brug for måneds array if($j == $md){ echo"<option value=\"$j\" Selected>$dkmdr[$x] ($j)</option>\n"; }else{ echo"<option value=\"$j\">$dkmdr[$x] ($j)</option>\n"; } } echo "</select>\n"; } /******************/ //funktion til dag /******************/ function dag(){ echo "<select name=\"dato\">\n"; //år loop - der er mulighed for at indtaste 1 gamle år $dd = date("d"); //dags dato for($i = 1; $i <= 9; $i++){ if($i == $dd){ echo"<option value=\"0".$i."\" Selected>$i</option>\n"; }else{ echo"<option value=\"0".$i."\">$i</option>\n"; } } for($i = 10; $i <= 31; $i++){ if($i == $dd){ echo"<option value=$i Selected>$i</option>\n"; }else{ echo"<option value=$i>$i</option>\n"; } } echo "</select>\n"; } ?>
Annonceindlæg fra FPT Software
08. marts 2011 - 22:43
#1
Ser ud til at din $aar er tom.
08. marts 2011 - 22:53
#2
Ja men kan man ikke få funktionen til at fylde noget i $aar ?
08. marts 2011 - 23:05
#4
Jo. Hvad skal der stå i $aar og i $md, som osgå er tom? Du har linier: // $md = date("n"); // $aar = date("Y"); hvor du åbenbart har gjort dig nogle tanker om det. Men de er kun kommentarer. Måske tror du, at du sætter værdierne i de to funktioner mnd() og aar(), men der sætte du kun $md og $aar som lokale variabler, der ikke kan ses udenfor funktionerne. Du kan fx gøre dem synlige udenfor med function aar() { global $aar; ....osv.... } Jeg kan heller ikke se hvad id=id skal gøre i din SQL-sætning: ...WHERE id = id....
09. marts 2011 - 21:03
#5
Indehold i $aar og i $md skulle gerne være aktuel dato Jo jeg ved godt at // $md = date("n"); // $aar = date("Y") kun er kommentarer dem brugte jeg før funktionerne dag, maaned, aar. Forstår ikke lige det med udenfor WHERE id = id.... har jeg slettet
09. marts 2011 - 21:36
#6
Du skal formentlig blot tilføje de linier med global $aar; osv
09. marts 2011 - 21:56
#7
funker ej får denne her Fatal error: Cannot redeclare aar() (previously declared in /volume1/web/liste kalender/vis_kalender.php:86) in /volume1/web/liste kalender/vis_kalender.php on line 117
09. marts 2011 - 21:57
#8
Lige koden <?PHP require_once("farver.php"); include("connect.php"); // Måned på året 1-12 // $md = date("n"); // Årstal (4-cifret) 2011 // $aar = date("Y"); ?> <div align="center"> <form method="post" action="<?php $_SERVER['PHP_SELF'] ?>"> Vælg Dag:: <?php dag(); ?> Vælg Måned: <?php maaned(); ?> Vælg År: <?php aar(); ?> <input type="hidden" name="op" value="ds"> <input type="submit" name="submit" value="Vælg Måned / År"> </form> </div> <?php //viser overskrift tabel Print "<table width=561 bgcolor= lightblue align=center border='1'> <td width=33>id</td> <td width=17>Dato</td> <td width=16>Måned</td> <td width=32>aar</td> <td width=56>navn</td> <td width=303>beskrivelse</td> <td width=47>ret</td> </tr> </table>"; $resultat = mysql_query("SELECT * FROM kalender "."WHERE maaned = $md and aar = $aar"); Print mysql_error(); while($post = mysql_fetch_array($resultat)){ //Sætter måneds navn ind //pos 0 1 2 3 4 5 6 7 8 9 10 11 12 $maaneder = array("dommy","Januar","Februar","Marts","April","Maj","Juni","Juli","August","Oktber","September","November","December",); $aktuel_maaned = $post[maaned]; //echo $maaneder[$aktuel_maaned]; //Skriv resultat //Skriver kalender data på skærm Print "<table border=0 width=650 align=center> <table border=1 width=561 ALIGN=center id=table1> <tr bgcolor=" . farve() . "\n> <td width=33>$post[id]</td> <td width=17 align=right>$post[dag]</td> <td width=16>$maaneder[$aktuel_maaned]</td> <td width=32>$post[aar]</td> <td width=56>$post[dag_navn]</td> <td width=303>$post[event]</td> <td width=47><a href=\"rediger_vare_form.php?id=$post[id]\">Ret<?=$post[id];?></a></td> </tr> </table>"; } ?> <?php /******************/ //funktion til år /******************/ function aar() { global $aar; } function maaned() { global $maaned; } function dag() { global $dag; } //function aar(){ function aar() { echo "<select name=\"aar\">\n"; //år loop - der er mulighed for at indtaste 1 gamle år $aar = date("Y")-1; //årstal med 4 cife f.eks 2002 $detteaar = date("Y"); for($i = $aar; $i < ($aar+10); $i++){ // indsæt antal aar +5 = 5 år if($i == $detteaar){ echo"<option value=$i Selected>$i</option>\n"; }else{ echo"<option value=$i>$i</option>\n"; } } echo "</select>\n"; } /******************/ //funktion til måned /******************/ function maaned(){ echo "<select name=\"md\">\n"; $dkmdr = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"); $mdnu = date("m"); //måned med 2 cifre f.eks 01 - 12 $md = $mdnu; //sættes til næste måned for($j = 1; $j <= 9; $j++){ $x = $j-1; //til brug for måneds array if($j == $md){ echo"<option value=\"0".$j."\" Selected>$dkmdr[$x] ($j)</option>\n"; }else{ echo"<option value=\"0".$j."\">$dkmdr[$x] ($j)</option>\n"; } } for($j = 10; $j <= 12; $j++){ $x = $j-1; //til brug for måneds array if($j == $md){ echo"<option value=\"$j\" Selected>$dkmdr[$x] ($j)</option>\n"; }else{ echo"<option value=\"$j\">$dkmdr[$x] ($j)</option>\n"; } } echo "</select>\n"; } /******************/ //funktion til dag /******************/ function dag(){ echo "<select name=\"dato\">\n"; //år loop - der er mulighed for at indtaste 1 gamle år $dd = date("d"); //dags dato for($i = 1; $i <= 9; $i++){ if($i == $dd){ echo"<option value=\"0".$i."\" Selected>$i</option>\n"; }else{ echo"<option value=\"0".$i."\">$i</option>\n"; } } for($i = 10; $i <= 31; $i++){ if($i == $dd){ echo"<option value=$i Selected>$i</option>\n"; }else{ echo"<option value=$i>$i</option>\n"; } } echo "</select>\n"; } ?>
09. marts 2011 - 22:07
#9
Du skal naturligvis kun have een funktion med navnet aar(). I denne funktion skal din første linie være: global $aar;
Computerworld tilbyder specialiserede kurser i database-management