Problem mit Datenbank Abfrage!

dennis2412

Gesperrt
Hallo Leutz ich bins wieder! Bitte seit mir niht böse, ich habe auch die Suchfunktion benutzt aber es wurde über 50 Seiten Treffer aufgelistet und die ersten 20 habe ich mir auch angeschaut, aber nix richtiges gefunden!
Also will alle daten aus der spalte email aus der mysql tabelle holen!
Aber dann möchte ich das ergebniss in ein mit html geschriebenes formular (aber in der gleichen datei) einbauen!
Aber wie?
 
Auslesen SQL Spalte in HTML Tabelle

hallo dennis,

hope ich kann Dir ein bisschen weiterhelfen.

Ich würde folgendermaßen vorgehen:

Deine HTML Zielseite mit der Tabelle würde ich auf alle Fälle
mit PHP generieren.

Wenn es an die Stelle kommt, an der die Tabelle mit den
eMail adressen kommt, liest Du die Daten aus Deiner Tabelle
mit
PHP:
$sql_select = "SELECT email FROM members";
hierbei bezeichnet email die Spalte und members die Datenbank

mit der nachfolgenden Erweiterung
PHP:
$sql_select = "SELECT email FROM members name='Beispiel@aol.com' ";
kann man sogar nach spetiellen Adressen suchen.

jetzt wird das Ergebnis obiger Abfrage weiterverarbeitet:
PHP:
$ergebnis = mysql_query($sql_select, $db);
    if($ergebnis)
    {
        while ($email_row = mysql_fetch_row($ergebnis))
        {
            printf("Email: %s", $email_row[0]; // Diese Zeile an Deine Ausgabe anpassen und die Tabelle dabei nicht vergessen !!
        }
    }
    else {   // Kontrollabfrage
         echo "Beim Versuch, einen Datensatz zu lesen, 
         ist ein Fehler aufgetreten.<br>\n Fehler-Nr.: 
         <b>".mysql_errno($db)."</b><br>\Fehler-Ausgabe:
         <b>".mysql_errno($db)."</b>";

    }

was passiert: Solange $ergebnis auf den Wert true gesetzt ist,
also die Tabelle durchlaufen wird, werden Daten in das Array
$email_row geschrieben umd mit der Funktion printf() ausgegeben.

Jetzt musst Du nur noch diese Schnipsel an Dein Werk anpassen
und an entsprechender Stelle einbauen. Im sql_select kannst Du
für den Spaltennamen und Datenbanknamen auch eine Variable
einsetzen um das ganze flexiebler zu gestalten.

viel Spass

Peter
 
So danke erstmal! Aber das funtzt nicht!
Ich hab jetzt folgendes geschrieben:

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

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

 while ($ausgabe = mysql_fetch_array ($result))
 {

            echo "<td width=\"200\" valign=\"center\"><br><table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\">
  <tr>
    <td width=\"100%\" background=\"http://www.fwl2003.de/images/oben.bmp\" bgcolor=\"#063D98\">
    <p align=\"center\"><b><font color=\"#FFFFFF\" size=\"2\" face=\"Verdana\">Newsletter senden</font></b></td>
  </tr>
  <tr>
    <td width=\"100%\" bgcolor=\"#4169E1\">
    <p align=\"justify\"><font face=\"Verdana\" size=\"2\"><center>
<form target=\"_blank\" action=\"send.php\" method=\"post\">
<table>
<tr><td valign=\"top\">Datum:</td><td width=\"5\"> </td><td><input type=\"text\" name=\"datum\"  size=\"20\"></td></tr>
<tr><td valign=\"top\">Betreff:</td><td width=\"5\"> </td><td><input type=\"text\" name=\"subject\" size=\"20\"></td></tr>
<tr><td valign=\"top\">Empfänger:</td><td width=\"5\"> </td><td><textarea cols=\"23\" rows=\"3\" name=\"user\" wrap=physical>$ausgabe[email]</textarea></td></tr>
<tr><td valign=\"top\">Text:</td><td width=\"5\"> </td><td><textarea cols=\"23\" rows=\"3\" name=\"message\" wrap=physical></textarea></td></tr>
</table>
</form>
</center>
</table>";}


mysql_close ($dbverbindung)


?>

Aber jetz wird ja jeder Wert in der Spalte email in einer anderen Tabelle ausgegeben! Ich will aber, dass alle werte in der Spalte email in einer tabelle ausgegeben werden!
 
PHP:
<?php
$dbverbindung = mysql_connect ($host, $user, $password); 
$dbanfrage = "SELECT * from $tabelle"; 
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung); 

echo "<td width=\"200\" valign=\"center\"><br>
 <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\">
  <tr>
   <td width=\"100%\" background=\"http://www.fwl2003.de/images/oben.bmp\" bgcolor=\"#063D98\">
    <p align=\"center\"><b><font color=\"#FFFFFF\" size=\"2\" face=\"Verdana\">Newsletter senden</font></b>
   </td>
  </tr> 
  <tr> 
   <td width=\"100%\" bgcolor=\"#4169E1\"> 
    <p align=\"justify\"><font face=\"Verdana\" size=\"2\">
    <center><form target=\"_blank\" action=\"send.php\" method=\"post\"> 
     <table> 
      <tr>
       <td valign=\"top\">Datum:</td>
       <td width=\"5\"> </td>
       <td><input type=\"text\" name=\"datum\" size=\"20\"></td>
     </tr> 
     <tr>
      <td valign=\"top\">Betreff:</td>
      <td width=\"5\"> </td>
      <td><input type=\"text\" name=\"subject\" size=\"20\"></td>
     </tr> 
     <tr>
      <td valign=\"top\">Empfänger:</td>
      <td width=\"5\"> </td>
      <td><textarea cols=\"23\" rows=\"3\" name=\"user\" wrap=physical>";
while ($ausgabe = mysql_fetch_array ($result)) 
{ 

echo $ausgabe[email];

}

echo "</textarea></td>
     </tr> 
     <tr>
      <td valign=\"top\">Text:</td>
      <td width=\"5\"> </td>
      <td><textarea cols=\"23\" rows=\"3\" name=\"message\" wrap=physical></textarea></td>
     </tr> 
    </table> 
   </form> 
  </center> 
 </table>";

mysql_close ($dbverbindung) 
?>

meinst Du etwa so ?
 
@dennis

wenn bei Dir jedes Feld in einer neuen Tabelle ausgegeben
wird, kommt es daher, dass Deine while Schleife auch die
gesamte Tabelle umschliesst.

Du müsstest dies daher abändern, dass nur der variabel
eingestezte Bereich, also wo die eMail eingesetzt wird
durch die while Schleife gesteuert wird.

Genau dort, wo du >$ausgabe[ email]< stehen hast, muss
die while Schleife eingesetzt werden um die Ausgabe zu
steuern.

Gruss
Peter
 
So erstmal danke an eich beiden!
Das Script ist jetzt fast fertig, es fehlt nur noch eins!
Alle E_Mailadressen werden ja jetzt hintereinander aufgelistet, ich will aber, dass der immer ne neue Zeile für jede E_Mailadresse amcht!
Nprmalerweise nehme ich dafür <br> aber der will irgendwie nicht! Da kommt dann immer ne Fehlermeldung!

Ich habs so geschrieben:

Code:
while ($ausgabe = mysql_fetch_array ($result)) 
{ 

echo $ausgabe[email];

}
 
Zurück