phpbar.de logo

Mailinglisten-Archive

[dbs] datenbankpflege

[dbs] datenbankpflege

Ingo Reich ireich at mac.com
Sam Okt 15 06:32:29 CEST 2005


Hallo,
ich bin neu auf der Liste und auch noch recht unerfahren mit PHP. Ich  
wollte mir jetzt ein PHP-Skript schreiben, mit dem ich eine komplette  
mySQL-Tabelle ausgeben und die verschiedenen Einträge verändern kann.  
Die Namen der Input-Felder werden dabei als "Name1", "Name2" etc.  
übergeben. So wie sie ist, funktioniert das Skript für Tabellen mit  
genau zwei Zeilen. Was ich leider nicht hinbekommen habe -- obwohl  
ich es auf die verschiedensten Weisen versucht habe -- ist, die  
Übergabe der Variablen an das Dokument rekursiv für beliebige Zeilen  
zu definieren. So ist das Skript natürlich nutzlos.
Irgendwelche Ideen oder Verweise?
Dank und Gruß,
Ingo


%%%%%%%%%% begin %%%%%%%%%%%%%%%%%%%%%%%%%

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>versuch</title>
     <meta name="generator" content="BBEdit 8.2" />
</head>
<body>
<?php

// +++++ Funktionsdefinition ++++++ //

function ausgabe() {
     // Verbindung zu mySQL
     $db=mysql_connect("localhost","root","******");
         // Verbindung zur Datenbank
         mysql_select_db("semws05");
             // Auslesen der Daten aus der Tabelle
             $anfrage="SELECT * FROM ps1daten";
             $ergebnis=mysql_query($anfrage);

             // Anzahl der Zeilen und Spalten ermitteln
             $zeilenanzahl=mysql_num_rows($ergebnis);
             $spaltenanzahl=mysql_num_fields($ergebnis);

             // Ausgabe der Datensätze in einer Tabelle
             print("<form action='$PHP_SELF' method=\"GET\"  
name='daten'>");
             print("<table border='1'>");

                 // Tabellenkopf ausgeben
                 print("<tr align='center'>");
                 for ($zahl=0;$zahl<$spaltenanzahl;$zahl++) {
                     print("<td><b>");
                     print(mysql_field_name($ergebnis,$zahl));
                     print("</b></td>");
                 }
                 print("</tr>");

                 // Ausgabe der einzelnen Zeilen
                 $i=0;
                 while($zeile=mysql_fetch_array($ergebnis)){
                     print("<tr align='center'>");
                         print("<td>"); $id="id"; $id.=$i;
                         print("<input type='text' size='2'  
name='$id' value='$zeile[id]'>");
                         print("</td>");
                         print("<td>"); $name="Name"; $name.=$i;
                         print("<input type='text' size='17'  
name='$name' value='$zeile[Name]'>");
                         print("</td>");
                         print("<td>"); $vorname="Vorname"; $vorname.= 
$i;
                         print("<input type='text' size='17'  
name='$vorname' value='$zeile[Vorname]'>");
                         print("</td>");
                         print("<td>"); $anrede="Anrede"; $anrede.=$i;
                         print("<input type='text' size='7'  
name='$anrede' value='$zeile[Anrede]'>");
                         print("</td>");
                         print("<td>"); $strasse="Strasse"; $strasse.= 
$i;
                         print("<input type='text' size='17'  
name='$strasse' value='$zeile[Strasse]'>");
                         print("</td>");
                         print("<td>"); $plz="PLZ"; $plz.=$i;
                         print("<input type='text' size='5'  
name='$plz' value='$zeile[PLZ]'>");
                         print("</td>");
                         print("<td>"); $ort="Ort"; $ort.=$i;
                         print("<input type='text' size='17'  
name='$ort' value='$zeile[Ort]'>");
                         print("</td>");
                         print("<td>"); $email="Email"; $email.=$i;
                         print("<input type='text' size='30'  
name='$email' value='$zeile[Email]'>");
                         print("</td>");
                         print("<td>"); $telefon="Telefon"; $telefon.= 
$i;
                         print("<input type='text' size='14'  
name='$telefon' value='$zeile[Telefon]'>");
                         print("</td>");
                     print("</tr>");
                     $i++;
                 }
             print("</table>");
             print("<input type='submit' name='submit'  
value='aendern'>");
             print("</form>");
     mysql_close($db);
}

// +++++ bedingte Ausgabe der Seite ++++++ //

//Übernahme der Variablen aus dem generierte HTML-Dokument
     $submit = $_GET['submit'];

     $id0 = $_GET['id0'];
     $vorname0 = $_GET['Vorname0'];
     $name0 = $_GET['Name0'];
     $anrede0 = $_GET['Anrede0'];
     $email0 = $_GET['Email0'];
     $telefon0 = $_GET['Telefon0'];
     $strasse0 = $_GET['Strasse0'];
     $plz0 = $_GET['PLZ0'];
     $ort0 = $_GET['Ort0'];

     $id1 = $_GET['id1'];
     $vorname1 = $_GET['Vorname1'];
     $name1 = $_GET['Name1'];
     $anrede1 = $_GET['Anrede1'];
     $email1 = $_GET['Email1'];
     $telefon1 = $_GET['Telefon1'];
     $strasse1 = $_GET['Strasse1'];
     $plz1 = $_GET['PLZ1'];
     $ort1 = $_GET['Ort1'];

// Eigentliche Ausgabe

if ($submit=="aendern") {
     $db=mysql_connect("localhost","root","*****");
     mysql_select_db("semws05");
     $sql = "UPDATE ps1daten SET id='$id0', Vorname='$vorname0',  
Name='$name0', Anrede='$anrede0', Email='$email0',
     Telefon='$telefon0', Strasse='$strasse0',  PLZ='$plz0',  
Ort='$ort0' WHERE id LIKE '1' ";
     $result = mysql_query($sql,$db);
     $sql = "UPDATE ps1daten SET id='$id1', Vorname='$vorname1',  
Name='$name1', Anrede='$anrede1', Email='$email1',
     Telefon='$telefon1', Strasse='$strasse1',  PLZ='$plz1',  
Ort='$ort1' WHERE id LIKE '2' ";
     $result = mysql_query($sql,$db);
     mysql_close($db);
     print("Datenbestand wurde abge&auml;ndert<br>");
     ausgabe();
}
else {
     ausgabe();
}
?>
</body>
</html>
%%%%%%%%%% end %%%%%%%%%%%%%%%%%%%%%%%%%



php::bar PHP Wiki   -   Listenarchive