Problem mit PHP und MySQL

maga147

Erfahrenes Mitglied
Hallo,

ich hab mir mal eine MySQL Tabelle eingerichtet, wo verschieden Angaben zu Schülern drin sind (zur Zeit Nachname Vorname und Geburtsdatum) die Tabelle funktioniert auch ganz gut.

Jetzt gebe ich über folgendes PHP Script alles wieder in einer Datei aus.

PHP:
<?php
include("config.php");

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

 while ($ausgabe = mysql_fetch_array ($result))
 {
 print ("<br><font size=3 color=\"FFFFFF\" face=\"Verdana\">$ausgabe[Nachname] $ausgabe[Vorname], $ausgabe[Geburtsdatum] </font><br><hr>");
 }

mysql_close ($dbverbindung)

bisher hat mir dieses gereicht, aber jetzt möchte ich, dass Nachname und Vorname getrennt von Geburtsdatum in 2 Spalten kommen (also so | $Nachname $Vorname | $Geburtsdatum |)

wenn ich jetzt eine Tabelle einfüge und die arrays darein mach, kommt eine sehr hässliche Tabelle die keine graden linien haben, da die Länge der Zeichen scheinbar die verteilung übernimmt.

Wie kann ich jetzt eine Tabelle erstellen lassen, wo alle Zeilen und Spalten gleich groß sind

Danke
 
versuch mal mit
PHP:
    while($line = @mysql_fetch_object($query)) 
    {
     echo '<tr>';
     echo '<td >'.$line->vorname.'</td>';
     echo '<td >'.$line->nachname.'</td>';
     echo '<td >'.$line->geburtsdatum.'</td>';
     echo'</tr>';
  }
 
PHP:
<?php 
include("config.php"); 

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

echo'<table border="1">';
while ($ausgabe = mysql_fetch_array ($result)) 
{ 
echo'<TR>'
echo'  <TD>'.$ausgabe['Nachname'].'</TD>';
echo'  <TD>'.$ausgabe['Vorname'].'</TD>';
echo'  <TD>'.$ausgabe['Geburtsdatum'].'</TD>';
echo'</TR>';
} 
echo'</TABLE>';

mysql_close ($dbverbindung) 
?>
 
@stanger: bei deinem Script kommt keine Ausgabe (aber auch keine Fehlermeldung

@Kerwin: bei deinem Script kommt ein Parse Error in dieser Zeile:

echo' <TD>'.$ausgabe['Nachname'].'</TD>';

Parse error: parse error, expecting `','' or `';''

was kann das sein
 
Danke!

es funktioniert!

ich poste hier noch mal den funktionierenden Code für andere User:

PHP:
<?php

$host = "localhost";
$user = "?";
$password = "?";
$dbname = "Datenbank";
$tabelle ="Tabelle";

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

echo'<table border="1">';
while ($ausgabe = mysql_fetch_array ($result))
{
echo'<TR>';
echo'  <TD>'.$ausgabe['Nachname'].'</TD>';
echo'  <TD>'.$ausgabe['Vorname'].'</TD>';
echo'  <TD>'.$ausgabe['Geburtsdatum'].'</TD>';
echo'</TR>';
}
echo'</TABLE>';

mysql_close ($dbverbindung)
?>
 
Probire mal so aus, sollte Funktionieren.
Die @ Zeichen vor dem Befehl unterdrucken die Fehlermeldungen.
PHP:
 $query = mysql_query("SELECT name, vorname, geburtsdatum FROM TabellenName")or die('Kann Benutzer nicht ausw&auml;hlen!') ;
    echo"<table>";
    while($line = mysql_fetch_object($query)) 
   	{
   	 echo '<tr>';
   	 echo '<td >'.$line->vorname.'</td>';
   	 echo '<td >'.$line->nachname.'</td>';
   	 echo '<td >'.$line->geburtsdatum.'</td>';
   	 echo'</tr>';
     }
    echo"</table>";
 
Ach wie ich das liebe wenn alle mitdenken oder mal schauen was falsch sein könnte. Immer diese einfach Copy & Paster => Schreier(Hilfe es geht trotzdem nicht) ;)
Zumal der Error von mir ja sagt, was falsch ist ;)

PHP:
while(..)
{ 
echo'<TR>' ;

Und bei dem anderen Lösungsvorschlag musst du die Whileschleife anpassen und aus $query das rein schreiben $result
 
naja...

ich hab mich nur auf die Zeile mit dem Parse Error beschränkt.... (hab das nicht gwusst das es auch auf die Zeile vorher gehen könnte...)

Und in der Zeile hab ich so viel rumprobiert, aber es ging nicht!

Jetzt läufts auf jeden fall und ich sage noch mal DANKE

Noch was anderes:

Gibt es auch ein Skript, dass mir mir die Geburtstags Spalte überprüft und wenn heute der Geburtstag ist, das es mir eine Meldung ausgibt

Also wenn heute jemand geburtstag hat, dass dann z.b. Georg hat heute Geburtstag! geprinted werden. und wenn keiner Geburtstag hat, nichts ausgegeben wird.
 
Zuletzt bearbeitet:
Das Problem wurde irgendwie mit von C ruebergeschleppt. Am Ende eines Befehls muss halt ein ; stehen um diesen vom naechsten zu trennen.
Da man in der Regel, der Uebersicht wegen, einen Befehl pro Zeile ausfuehrt wird der Fehler in der naechsten Zeile angezeigt. Dass die Interpreter/Compiler dass immer noch nicht vernuenftig hinkriegen ist schon irgendwie komisch.

Das mit dem Geburtstag sollte nicht allzu schwer sein. Du ueberpruefst einfach nur Tag und Monat vom Geburtsdatum mit dem aktuellen Datum und gibst gegebenenfalls etwas aus.
 
Zurück