hi,
ich hab mal eine adressliste zusammengeschustert, die per php und mysql von den usern selbst gepflegt werden konnte.. dann hab ich mit dem gleichen aufbau (nur minmalen änderungen) noch 2 andere lsiten realisiert.. nun wollte ich es nochmal machen.. und es geht nicht mehr..
ich schick euch hier mal den code.. geht sicher alles besser, aber es funktoniert immerhin.. bzw. es sollte funktionieren.. hab ja nur copy&paste gemacht.. aber es will irgendwie nicht.
probleme: neue einträge werden nicht in die datenbank geschrieben und bei änderungen kommt folgende fehlermeldung:
"You have an error in your SQL syntax near 'alter='124' , datum='04.04.2004' , jahr='1900' Where id='1'' at line 1"
da fehlt zum beispiel der name...
hier der code:
ich hoffe, ihr blickt da einigermaßen durch und könnt mir sagen wo da der fehler drin ist.. die tabelle in der datenbank heißt übrigens "geb_liste" und hat folgende werte:
id / int / not null /auto increment
name / varchar / not null
alter / varchar / not null
datum / varchar / not null
jahr / varchar / not null
ich danke euch!
ach so.. zum besseren verständnis: hier die seite: http://www.vossomatik.de/html/home/geburtstagsliste.php
ich hab mal eine adressliste zusammengeschustert, die per php und mysql von den usern selbst gepflegt werden konnte.. dann hab ich mit dem gleichen aufbau (nur minmalen änderungen) noch 2 andere lsiten realisiert.. nun wollte ich es nochmal machen.. und es geht nicht mehr..
ich schick euch hier mal den code.. geht sicher alles besser, aber es funktoniert immerhin.. bzw. es sollte funktionieren.. hab ja nur copy&paste gemacht.. aber es will irgendwie nicht.
probleme: neue einträge werden nicht in die datenbank geschrieben und bei änderungen kommt folgende fehlermeldung:
"You have an error in your SQL syntax near 'alter='124' , datum='04.04.2004' , jahr='1900' Where id='1'' at line 1"
da fehlt zum beispiel der name...
hier der code:
Code:
<? $host = "localhost"; $dbname = "***"; $user = "***"; $password = "***"; /* Verbindung aufbauen, auswählen einer Datenbank */ $link = mysql_connect($host, $user, $password) or die(); mysql_select_db($dbname) or die(); ?> . . . <script type='text/javascript'> function set_values(name,alter,datum,jahr) { document.forms['gebliste'].action.value="edit"; document.forms['gebliste'].name.value=name; document.forms['gebliste'].alter.value=alter; document.forms['gebliste'].datum.value=datum; document.forms['gebliste'].jahr.value=jahr; } function reset_values() { document.forms['gebliste'].action.value="neu"; document.forms['gebliste'].name.value=""; document.forms['gebliste'].alter.value=""; document.forms['gebliste'].datum.value=""; document.forms['gebliste'].jahr.value=""; } </script> . . . <form action="../home/geburtstagsliste.php" method="post" name="gebliste" id="gebliste"> <table width="42%" border="1" cellpadding="1" cellspacing="0" bordercolor="#203C5E" bgcolor="#B3C4D9" > <tr bgcolor="#F0F9FF"> <td width="12"><div align="center">id</div></td> <td width="90"><div align="center">Name</div></td> <td width="59" bgcolor="#F0F9FF"><div align="center">wird..</div></td> <td width="61"><div align="center">am..</div></td> <td width="88"><div align="center">Geburtsjahr</div></td> </tr> <? $name = $_POST["name"]; $alter = $_POST["alter"]; $datum = $_POST["datum"]; $jahr = $_POST["jahr"]; if(isset($_POST['name']) && !empty($_POST['name']) && isset($_POST['alter']) && !empty($_POST['alter']) && isset($_POST['datum']) && !empty($_POST['datum']) && isset($_POST['jahr']) && !empty($_POST['jahr'])) { if(isset($HTTP_POST_VARS['action']) and $HTTP_POST_VARS['action']==="edit") { $eintrag = "UPDATE geb_liste SET name='$name' , alter='$alter' , datum='$datum' , jahr='$jahr' Where id='".$_POST['editid']."'"; $eintragen = mysql_query($eintrag); if (mysql_errno()) echo mysql_error(); } else if (isset($HTTP_POST_VARS['action']) and $HTTP_POST_VARS['action']==="neu") { $eintrag = "INSERT INTO geb_liste (name, alter, datum, jahr) VALUES ('$name', '$alter', '$datum', '$jahr')"; $eintragen = mysql_query($eintrag); } } // ausführen einer SQL Anfrage $query = "SELECT * FROM geb_liste"; $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error()); // Ausgabe der Ergebnisse in HTML $farbe_1 = '#B3C4D9'; $farbe_2 = '#CBD7E6'; $flag = 1; $count = 0; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { if ($flag == 1) { echo ' <tr bgcolor="'.$farbe_1.'" onMouseOver=this.bgColor="#FFCC33" onMouseOut=this.bgColor="'.$farbe_1.'"> '; $flag = 2; } else { echo ' <tr bgcolor="'.$farbe_2.'" onMouseOver=this.bgColor="#FFCC33" onMouseOut=this.bgColor="'.$farbe_2.'"> '; $flag = 1; } $count = $count+1; echo "<td align='center'><input type='radio' onClick=\"set_values('$line[name]','$line[alter]','$line[datum]','$line[jahr]');\" name='editid' value='$line[id]'></td>\n"; echo "<td>$line[name]</td>\n"; echo "<td>$line[alter]</td>\n"; echo "<td>$line[datum]</td>\n"; echo "<td>$line[jahr]</td>\n"; print "\t</tr>\n"; } print "\t<tr bgcolor='#F0F9FF'><td colspan='8'>Anzahl: $count</td></tr>\n"; ?> </table> [img]../../images/pfeil.jpg[/img] anklicken zum Bearbeiten der Zeile. <table width="790" height="293" border="0" cellpadding="2" cellspacing="3"> <tr> <td width="149" height="42" valign="top"> Name (Vorname, Name) <input name="name" type="text" id="name"> </p> </td> <td width="164" valign="top"></td> <td width="453" rowspan="4"><table width="400" height="99" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#FFFFFF"> <tr> <td height="22" bgcolor="#FFCC33"><div align="center">aufgepasst!</div></td> </tr> <tr> <td valign="top" bgcolor="#B3C4D9"> Alle Felder müssen ausgefüllt werden, sonst passiert gar nichts. Fehler beheben und Updates könnt Ihr selber machen. Einfach auf die entsprechende Zeile klicken und die Werte verändern.</p> Es ist nicht möglich, Einträge zu löschen, wohl aber sie bis zur Unkenntlichkeit zu verändern.. ich mach deshalb regelmäßig Backups der Datenbank um das zu verhindern. Aber Ihr seid ja clever, gelle?</p> Die ganze Sache nach Datum zu sortieren klappt noch nicht richtig... Hoffentlich später mal.</p> und die anstehenden Geburtstage farbig zu markieren will auch nicht so recht..kommt aber.</p></td> </tr> </table></td> </tr> <tr> <td height="42" valign="top">wird.. <input name="alter" type="text" id="alter"></td> <td width="164" valign="top"></td> </tr> <tr> <td height="45" valign="top">am.. (TT.MM) <input name="datum" type="text" id="datum"></td> <td width="164" valign="top"></td> </tr> <tr> <td height="142" valign="top">Geburtsjahr (JJJJ) <input name="jahr" type="text" id="jahr"> </td> <td width="164" valign="top"> <input name="send_gebliste" type="submit" id="send_gebliste" value="Senden"> <input name="reset" type="reset" id="reset" value="Reset" onClick="reset_values();"> <input type='hidden' id='action' name='action' value='neu'></td> </tr> </table> </form>
id / int / not null /auto increment
name / varchar / not null
alter / varchar / not null
datum / varchar / not null
jahr / varchar / not null
ich danke euch!
ach so.. zum besseren verständnis: hier die seite: http://www.vossomatik.de/html/home/geburtstagsliste.php
Kommentar