php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.07.2004, 22:34  
Gast
 
Beiträge: n/a
Standard problem mit einer datenbakgestützten tabelle

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:
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&uuml;ssen ausgef&uuml;llt werden, sonst passiert gar nichts. 

          

          Fehler beheben und Updates k&ouml;nnt Ihr selber machen. Einfach auf die entsprechende Zeile klicken und die Werte ver&auml;ndern.</p>
            

Es ist nicht m&ouml;glich, Eintr&auml;ge zu l&ouml;schen, wohl aber sie bis zur Unkenntlichkeit zu ver&auml;ndern.. ich mach deshalb regelm&auml;&szlig;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&auml;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>
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
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.07.2004, 00:02  
Gast
 
Beiträge: n/a
Standard Re: problem mit einer datenbakgestützten tabelle

Zitat:
Zitat von vossomatik
"You have an error in your SQL syntax near 'alter='124' , datum='04.04.2004' , jahr='1900' Where id='1'' at line 1"
RTFM! ALTER ist ein reserviertes Wort.
 
Alt 05.07.2004, 19:39  
Gast
 
Beiträge: n/a
Standard

danke!! da wär ich ja nie drauf gekommen.. jetzt geht alles!!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Gitterlinien in Tabelle und FF2.0 Der_Gerhard HTML, Usability und Barrierefreiheit 10 10.12.2006 15:15
problem beim mehrfachen joinen einer tabelle und count() PHS Datenbanken 3 03.08.2006 16:49
[Suche] Hilfe zu einem Tabellen Verknüpfungs Problem &lt;Daniel&gt; Datenbanken 3 10.07.2006 15:15
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
3 spaltige Tabelle - Experten Problem havok PHP Tipps 2006 12 19.05.2006 11:55
MySQL kodierungs problem Mutatos Datenbanken 0 12.05.2006 20:02
Problem bei JOIN MilanX Datenbanken 3 03.05.2006 16:36
Zeilenanzahl einer tabelle mit WHERE aber ohne schleife? sovereign Datenbanken 13 17.04.2006 20:34
Problem mit Tabelle! b++ HTML, Usability und Barrierefreiheit 5 08.06.2005 18:50
Tabelle verknüpfungs problem! PHP Tipps 2005 16 21.05.2005 11:07
Problem bei erstellung einer tabelle mit function und array PHP Tipps 2005 5 21.04.2005 20:54
komisch problem mit tabelle oder datenbank nix verstehen :) Datenbanken 2 14.03.2005 12:32
[Erledigt] Tabelle in Tabelle automatisch anpassen HTML, Usability und Barrierefreiheit 3 04.11.2004 21:37
über PHP Daten in MySQL Tabellen updaten -- Problem PHP Tipps 2004 4 27.09.2004 21:34
[Erledigt] Letzter Eintrag in einer Tabelle und Top Five einer Tabelle Datenbanken 2 27.09.2004 06:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.