Riesiges MYSQL Problem

supser

Erfahrenes Mitglied
Habe leider immer noch keine Lösung zum folgendem Problem, vieleicht erbarmt sich ja jemand 1000 Dank.

Mein Formular:
PHP:
<html>
<head>
<title>test</title>
</head>
<body>
<form action="work.php" method=post>
  <div align="center"> 
    <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="5"><br>
      <br>
      <br>
      </font></strong></font></p>
    <font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="5"> 
    </font></strong></font> 
    <table width="1004">
      <tr> 
        <td width="233"><strong><font color="#000000"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Firma:</font></font></strong></td>
        <td width="247"><input name="Array[a1]" type="text" value="" size="40" row="5"></td>
        <td width="502" rowspan="4"><div align="center"></div></td>
      </tr>
      <tr> 
        <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Mitarbeiter</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:</font></strong></td>
        <td><input name="Array[a2]" type="text" value="" size="40" row="5"></td>
      </tr>
      <tr> 
        <td><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Von 
          Datum</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:</font></strong></td>
        <td><input name="Array[a3]" type="text" value="" size="40" row="5"></td>
      </tr>
      <tr> 
        <td><strong><font color="#000000"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bis 
          Datum:</font></font></strong></td>
        <td><input name="Array[a4]" type="text" value="" size="40" row="5"></td>
      </tr>
    </table>
    <br>
    <br>
    <br>
    <br>
    <input type=submit name="SUBMIT" value="Daten zur_db senden">
    <input name="Submit" type="button" onClick="window.print()

" value="Drucken">
  </div>
</form>
</body>
</html>

meine work.php:

PHP:
<?php
$host = "......";
$user = ".....";
$password = "......";
$dbname = ".......";
$tabelle ="tnt";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('0', '$Array[a1]', '$Array[a2]', '$Array[a3]', '$Array[a4]')";

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag in db war erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);

?>

funktioniert auch.

meine ausgabe.php:

PHP:
<?php

$host = "..............";
$user = "U............";
$password = "..........";
$dbname = "........";
$tabelle ="tnt";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * from $tabelle";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

 while ($ausgabe = mysql_fetch_array ($result))
 {
 echo '<input type="text" name="Array[a1]" value="'.$ausgabe[a1].'">'; 
 echo '<input type="text" name="Array[a2]" value="'.$ausgabe[a2].'">'; 
 echo '<input type="text" name="Array[a3]" value="'.$ausgabe[a3].'">'; 
 echo '<input type="text" name="Array[a4]" value="'.$ausgabe[a4].'">'; 


 }

mysql_close ($dbverbindung)


?>

Jetzt zum Problem:

er zeigt mir die ausgabe zwar an, aber ich will sie in mein formular wiedereinladen z.b. zum weiterschreiben
Das Problem Wie bekomme ich diese daten wieder in mein Formular ?

Bin schon am verzweifeln HILFE !!

Gruss Supser
 
Benutz mal diese Schleife - vielleicht hab ich dein Problem aber auch nicht richtig verstanden...
PHP:
while ($ausgabe = mysql_fetch_array ($result, MYSQL_NUM)) {
    echo '<input type="text" name="Array[a1]" value="'.$ausgabe[1].'">';
    echo '<input type="text" name="Array[a2]" value="'.$ausgabe[2].'">';
    echo '<input type="text" name="Array[a3]" value="'.$ausgabe[3].'">';
    echo '<input type="text" name="Array[a4]" value="'.$ausgabe[4].'">';
}
 
Hallo, das problem ist ich müsste von meinem Formular aus einen Button haben wo mir den letzten datensatz der tabelle hohlt, wie kann ich php befehle direkt in mein html dokument einbinden ?

Gruss Supser
 
Du kannst PHP-Befehle nicht direkt in HTML einbetten, da PHP serverseitig ausgeführt wird!

Also... du brauchst erst mal den Button :)
PHP:
<input type="button" onclick="window.location.href='<?php echo $_SERVER["PHP_SELF"]; ?>?load_ds';" value="Letzten Datensatz laden"/>

Dann modifizierst du dein Formular etwas:
PHP:
<?php
   // Am Anfang der Datei!
   mysql_connect(...);
   mysql_select_db(...)
   $feld1 = "";
   $feld2 = "";
   $feld3 = "";
   $feld4 = "";
   if(isset($_GET["load_ds"])) {
      $result = mysql_query("select * from ... order by id desc limit 1");
      if($row = mysql_fetch_array($result, MYSQL_NUM)) {
         $feld1 = $row[1];
         $feld2 = $row[2];
         $feld3 = $row[3];
         $feld4 = $row[4];
      }
   }
?>
Ich denke, du weiß selbst, wo du die Variablen $feldX dann ausgeben musst ;)
 
Hallo, hier bringt er mir nen Fehler
PHP:
 if($row = mysql_fetch_array($result, MYSQL_NUM)) {
das obere Feld habe ich jetzt so:

PHP:
  $feld1 = "'.$ausgabe[a1].'";

bei dem weiss ich jetzt net so genau was ich eintragen soll
PHP:
 $feld1 = $row[1];

Danke schonmal im voraus

Gruss Supser
 
Hallo, hier bringt er mir nen Fehler

Solche Antworten sind natürlich immer sehr aussagekräftig... Es wäre schön, wenn du evtl. auch die Fehlermeldung posten könntest ;) Möglicherweise kannst du dir einen MySQL-Fehler noch via [phpf]mysql_error[/phpf] ausgeben lassen.

Mit der while()-Schleife, die ich oben gepostet habe, sollst du natürlich deine alte Schleife ersetzen...
 
Sorry die mMeldung sieht so aus :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/leistungsscheintnt000.php on line 22


Gruss Supser
 
Das dachte ich mir schon...
Das heißt, dass du im SQL-Statement einen Fehler hast. Wenn du meinen Code per Copy&Paste übernommen hast, ist z.B. der Name der Tabelle fehlerhaft, bzw. möglicherweise existiert die Spalte 'id' nicht (ich hab hier einfach mal geraten, wie dein Primärschlüssel heißen könnte...)

Am besten du postest mal die Ausgabe von [phpf]mysql_error[/phpf], sowie den dazugehörigen Query und die Struktur deiner Tabelle.
 
Also die Tabellenstruktur sieht ja ziemlich "unnormalisiert" aus :) Aber das soll jetzt nicht das Problem sein!

Du musst also diesen SQL-Code benutzen:
PHP:
$sql = "select * from tabellen_name order by id desc limit 1";
Wobei du "tabellen_name" durch den tatsächlichen Namen der Tabelle ersetzen musst :)

Wenn's dann immer noch nicht klappt, dann schreib mal "$result = mysql_query($sql) or die(mysql_error());".
Dann wird die MySQL-Fehlermeldung ausgegeben, die uns weiterhilft, das Problem zu lösen ;)
 
Zurück