SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.05.2003, 16:16:21
cobracio cobracio ist offline
Anfänger
 
Registriert seit: May 2003
Ort: nähe Stuttgart
Beiträge: 16
Problem bei Speichern aus Formular in SQL-DB

Hallo,
ich habe vor eine Anwesenheitsliste in PHP mit SQL zu programmieren, und habe nun das Problem, dass ich die Daten aus dem Formular nicht mehr in die Datenbank zurück speichern kann, bzw. immer nur der letzte Eintrag in der Liste aktualisiert wird. Dies ist nur der Code für die admin Seite, das anzeigen funktioniert einwandfrei :D.
Danke schon mal im voraus für eure Hilfe, und hier nun mein Code:
PHP-Code:
<?php
$mysqlhost
="localhost";
$mysqluser="###";
$mysqlpwd="";
$mysqldb="test";

$connection=mysql_connect($mysqlhost$mysqluser$mysqlpwd) or die("Keine Verbindung möglich!");

mysql_select_db($mysqldb$connection) or die("Konnte die Datenbank nicht oeffnen.");

$query "select * from anwesenheitsliste order by Name, Vorname";
$result mysql_query($query) or die(mysql_error());

echo 
'<form name="eintragen" action="'.$PHP_SELF.'" method="post"><table border="0">';
        echo 
'<tr><td width="100"><b>Name:</b></td>
                    <td width="100"><b>Vorname:</b></td>
                    <td width="80"><b>Anwesend:</b></td>
                    <td width="250"><b>Bemerkung:</b></td></tr>'
;
while(
$row mysql_fetch_array($result))
    {
              echo 
'<tr><td><input name="ID" type="hidden" value="'.$row['ID'].'">'.$row['Name'].'</td>
                    <td>'
.$row['Vorname'].'</td>
                    <td><input name="Anwesend" type="text" size="6" maxlength="4" value="'
.$row['Anwesend'].'"></td>
                    <td><input name="Bemerkung" type="text" size="82" maxlength="50" value="'
.$row['Bemerkung'].'"></td></tr>';
    }
  echo 
'</table>';    
echo 
'<br><input type="submit" name="button" value="Speichern"></form>';
Hier kommt nun das Problem. Es wird lediglich immer nur der letzte Datensatz, wo oben angezeigt wird, zurück in die DB geschrieben, will aber dass alle zurück geschrieben werden.

PHP-Code:
if($button) {
        if(
$Anwesend != '' && $Bemerkung != '') {
            
$query "UPDATE anwesenheitsliste SET Anwesend = '".$Anwesend."' where id = '".$ID."' ";
            
$result mysql_query($query) or die(mysql_error());
            while(
$row mysql_fetch_array($result))
    {
              echo 
'<tr><td><input name="ID" type="hidden" value="'.$row['ID'].'">'.$row['Name'].'</td>
                    <td>'
.$row['Vorname'].'</td>
                    <td><input name="Anwesend" type="text" size="6" maxlength="4" value="'
.$row['Anwesend'].'"></td>
                    <td><input name="Bemerkung" type="text" size="82" maxlength="50" value="'
.$row['Bemerkung'].'"></td></tr>';
    }
            echo 
"eingetragen";

      } else {

          echo 
'<h2 align="center">Bitte füllen Sie ALLE Felder aus!<br>
          <a href="javascript:history.back()">Zurück zum Formular</a>'
;

         }
}
?> 
__________________
by
Lars alias Cobra.C!O
Mit Zitat antworten
  #2  
Alt 26.05.2003, 12:30:28
cobracio cobracio ist offline
Anfänger
 
Registriert seit: May 2003
Ort: nähe Stuttgart
Beiträge: 16
Kann mir denn keiner helfen ??? :-(
__________________
by
Lars alias Cobra.C!O
Mit Zitat antworten
  #3  
Alt 28.05.2003, 10:14:43
cobracio cobracio ist offline
Anfänger
 
Registriert seit: May 2003
Ort: nähe Stuttgart
Beiträge: 16
Ich kenn mich in PHP mit SQl noch nicht so gut aus und dachte daher ihr könnt mir hefen.
Vielleicht habe ich mich auch falsch ausgedrückt.
Also nochmal:
Ich lade aus der Datenbank eine Liste mit Namen etc. Unter anderem eben auch Anwesend (Ja, Nein) und Bemerkung.
Nun will ich, dass wenn diese Felder geändert wurden, diese wieder zurück schreiben, nur schaff ich das nicht. ich schaff lediglich immer den letzten Datensatz zurück zu schreiben.
Bitte helft mir.
__________________
by
Lars alias Cobra.C!O
Mit Zitat antworten
  #4  
Alt 28.05.2003, 13:28:50
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi cobracio,

du musst alles in ARRAYS packen, also die eckige Klammern...

...
<input name="ID[]" type="hidden" value="'.$row['ID'].'">
<input name="Anwesend[]" type="text" size="6" maxlength="4" value="'.$row['Anwesend'].'">
...

... und dann beim UPDATE:

for($i = 0; $i < count($ID); $i++)
{
...
$query = "UPDATE anwesenheitsliste SET Anwesend = '".$Anwesend[$i]."' where id = '".$ID[$i]."' ";
...
}

Hoffe, das es weiterhilft

Gruss

chris17
Mit Zitat antworten
  #5  
Alt 02.06.2003, 13:10:48
cobracio cobracio ist offline
Anfänger
 
Registriert seit: May 2003
Ort: nähe Stuttgart
Beiträge: 16
Das hab ich mir gedacht, nur funktioniert dies ned so richtig :-(
__________________
by
Lars alias Cobra.C!O
Mit Zitat antworten
  #6  
Alt 02.06.2003, 17:40:36
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hm, und nu? :-)
probier mal das, kopier einfach alles in ein Skript...

PHP-Code:
<?php
$mysqlhost
="localhost";
$mysqluser="***";
$mysqlpwd="";
$mysqldb="test";

$connection=mysql_connect($mysqlhost$mysqluser$mysqlpwd) or die("Keine Verbindung möglich!");

mysql_select_db($mysqldb$connection) or die("Konnte die Datenbank nicht oeffnen.");

if(
$button) {

      
    for(
$i 0$i count($ID); $i++)
    {
        
mysql_query("UPDATE anwesenheitsliste SET Anwesend='".$Anwesend[$i]."',Bemerkung='".$Bemerkung[$i]."' where id='".$ID[$i]."' ");
    }

}





$query "select * from anwesenheitsliste order by Name, Vorname";

$result mysql_query($query) or die(mysql_error());

echo 
'<form name="eintragen" action="'.$PHP_SELF.'" method="post"><table border="0">';
        echo 
'<tr><td width="100"><b>Name:</b></td>
                    <td width="100"><b>Vorname:</b></td>
                    <td width="80"><b>Anwesend:</b></td>
                    <td width="250"><b>Bemerkung:</b></td></tr>'
;
while(
$row mysql_fetch_array($result))
    {
              echo 
'<tr><td><input name="ID[]" type="hidden" value="'.$row['ID'].'">'.$row['Name'].'</td>
                    <td>'
.$row['Vorname'].'</td>
                    <td><input name="Anwesend[]" type="text" size="6" maxlength="4" value="'
.$row['Anwesend'].'"></td>
                    <td><input name="Bemerkung[]" type="text" size="82" maxlength="50" value="'
.$row['Bemerkung'].'"></td></tr>';
    }
  echo 
'</table>';
echo 
'<br><input type="submit" name="button" value="Speichern"></form>';




?>
Gruss

chris17
Mit Zitat antworten
  #7  
Alt 04.06.2003, 09:35:27
cobracio cobracio ist offline
Anfänger
 
Registriert seit: May 2003
Ort: nähe Stuttgart
Beiträge: 16
Hey, SUUUPER, DANKE.

Jetzt funktionierts :D.
__________________
by
Lars alias Cobra.C!O
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:09:03 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt