Thorsten Wuttke: MySQL - kleines Abfrage Problem !

Moin Leute !

Ich hab' da ein kleines Problem mit MySQL und oder der PHP Abfrage !

Ich habe mir gerade einen Webserver mit Apache 1.3.20, PHP 4.0.5 und MySQL 3.23.32 eingerichtet. Alles läuft unter Win2000 und dient mir zu Lernzwecken (PHP u.s.w. ). Nun hab ich dort eine MySQL Datenbank eingerichtet, recht simpel : Eine Tabelle (alles Char Werte, außer ID = int als Primärschlüssel) mit Adressdaten einer Freunde von mir. Diese Tabelle ist online über ein Formular durchsuchbar via PHP script. Das funktioniert auch soweit ganz gut.

Die Felder Telefon und E-Mail bereiten bei der Ausgabe im IE nun kleine Probleme . Die Telefon-Nummern sind so aufgebaut : Vorwahl Nummer z.B. 12345 67890. Im Internet Explorer wird die Telefon Nummer immer aufgrund eines Leerzeichens zwischen Vorwahl und Nummer mit einem Zeilenumbruch in einer Zelle dargestellt. Also 12345 und 67890 direkt darunter. Beim E-Mail Feld verhält es sich genauso, wenn die E-Mail ein "-" Bindenstrich enthält. Z.B. 1234@t-online.de. "1234@t" und "-online.de" werden dann mit einem Umbruch in der Zelle dargestellt.

Da ich noch aboluter Anfänger bin, habe ich leider keine Anwort auf dieses Verhalten. Vielleicht könnte es daran liegen, daß ich die Datensätze über ein HTML-Formular via PHP Script in die Datenbank eingetragen habe und der Datentyp der Formularfelder irgendwie mit den Arrays und den Datentypen der Datenbank ins schleudern geraten ?

Naja ich hoffe jemand kann mir helfen und vielleicht eine gute PHP-Anweisung liefern (falls es irgendwas mit der PHP-Anweisung zu tun hat.)

P.S.: meine Anweisung beim Auslesen lautet etwa so :

<?php
mysql_connect($host,$user,$password)
    mysql_select_db ("xxx");
    $ergebnis=mysql_query  ("SELECT * FROM xxx");
    $anz_reihen=mysql_num_rows($ergebnis);

....
....
....
    print ("<TABLE border=0 cellspacing=3 cellpadding=2>");
    print ("ID</td>
            Name</td>
            Vorname</td>
            Wohnort</td>
            Telefon</td>
            Handy</td>
            E-Mail</td>
            ICQ</td>");

while ($datensatz=mysql_fetch_row($ergebnis))
    {
 print ("<tr>");
 foreach ($datensatz as $feld)
 print ("<td>$feld</td>");
    }

print ("</table>");
    mysql_close  (mysql_connect($host,$user,$password));
?>

  1. Hallo,

    Also ich denke, Du solltest Dir nochmals die Sache mit HTML-Tabellen ansehen.

    print ("<TABLE border=0 cellspacing=3 cellpadding=2>");
        print ("ID</td>
                Name</td>
                Vorname</td>
                Wohnort</td>
                Telefon</td>
                Handy</td>
                E-Mail</td>
                ICQ</td>");

    Fehlende <tr>, </tr> bzw. <td>. Das ist definitiv nicht HTML, sondern sieht höchstens irgendwie danach aus.

    while ($datensatz=mysql_fetch_row($ergebnis))
        {
    print ("<tr>");
    foreach ($datensatz as $feld)
    print ("<td>$feld</td>");
        }

    Ditto, </tr>.
    (ich weiß, lt aktueller HTML-Spez. ist hier das Endtag nicht notwendig, aber es kostet nichts, außer etwas mehr Daten, und hilft älteren Browsern ungemein).

    Was Du wirklich lesen wolltest ist:
    </selfhtml/tce.htm>
    insbesondere
    </selfhtml/tcec.htm#a4>

    Grüße
      Klaus

    1. Hallo,

      Also ich denke, Du solltest Dir nochmals die Sache mit HTML-Tabellen ansehen.

      print ("<TABLE border=0 cellspacing=3 cellpadding=2>");
          print ("ID</td>
                  Name</td>
                  Vorname</td>
                  Wohnort</td>
                  Telefon</td>
                  Handy</td>
                  E-Mail</td>
                  ICQ</td>");

      Fehlende <tr>, </tr> bzw. <td>. Das ist definitiv nicht HTML, sondern sieht höchstens irgendwie danach aus.

      while ($datensatz=mysql_fetch_row($ergebnis))
          {
      print ("<tr>");
      foreach ($datensatz as $feld)
      print ("<td>$feld</td>");
          }

      Ditto, </tr>.
      (ich weiß, lt aktueller HTML-Spez. ist hier das Endtag nicht notwendig, aber es kostet nichts, außer etwas mehr Daten, und hilft älteren Browsern ungemein).

      Was Du wirklich lesen wolltest ist:
      </selfhtml/tce.htm>
      insbesondere
      </selfhtml/tcec.htm#a4>

      Grüße
        Klaus

      Danke Klaus.... die Sache mit nowrap für die Zellen war der Knackpunkt !
      Achja ... beim schreiben des Eintrags hab ich wohl die <tr>'s und <td>'s vergessen. Die hab ich beim kopieren aus meinem eigentlichen Quelltext und einfügen in meine Forumseintrag irgendwie net mitgenommen *g* .... in HTML bin ich net ganz so ein Neuling.
      Aber peinlich isses mir schon *g* ...

      Naja Trotzdem Danke ! Problem gelöst ....