• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

php-kurs.com Tutorial zu mySQL-Gästebuch geht nicht !

BDG

Mitglied
Hey Leute.
Ich wollte jetzt mal schnell testen, was so ein mySQL gaestebuch taugt....
Ich habe alles gemacht, wie in diesem Tutorial : Beispiel Gästebuch programmieren in PHP und MySQL - PHP-Kurs.comAber bei mir zeigt er im Browser nur das an :

Anzahl der Gästebuch-Einträge:" $anzahl_eintraege ; while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { // Aushabe der Daten echo "
"; print_r ($daten); echo ""; } mysql_free_result( $db_erg ); ?>

Aber ich habe doch alles genau gemacht wie da ! Was ist denn falsch ?
Hier mal der komplette Code :

Code:
[/FONT][/COLOR]<?

define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'bdg-software.de' );
define ( 'MYSQL_KENNWORT', 'bastiane1212' );
define ( 'MYSQL_DATENBANK', 'homepageanwendungen' );






$db_link = @mysql_connect (MYSQL_HOST,
                           MYSQL_BENUTZER,
                           MYSQL_KENNWORT);
if ( ! $db_link )
{
    // hier sollte dann später dem Programmierer eine
    // E-Mail mit dem Problem zukommen gelassen werden
    // die Fehlermeldung für den Programmierer sollte
    // das Problem ausgeben mit: mysql_error()
    die('keine Verbindung zur Zeit möglich - später probieren ');
}


$db_sel = mysql_select_db( MYSQL_DATENBANK )
    or die("Auswahl der Datenbank fehlgeschlagen");
	


// SQL-Befehl für den Zugriff
$sql = "
    SELECT
        *
    FROM gaestebuch
    ORDER BY datum
";
 
// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );


if ( ! $db_erg )
{
    die('Ungültige Abfrage: ' . mysql_error());
}


$anzahl_eintraege = mysql_num_rows($db_erg);
echo "<p>Anzahl der Gästebuch-Einträge: $anzahl_eintraege </p>";


while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
    // Aushabe der Daten
    echo "<pre>";
    print_r ($daten);
    echo "</pre>";
}


mysql_free_result( $db_erg );



?>[COLOR=#000000][FONT=Times New Roman]
 
Huch ?! Ich habe mal auf "Seitenquelltext anzeigen" geklickt, und dann hat er mir den ganzen PHP code angezeigt, und alle mySQL passwörter etc...
 
Oke ... Der Fehler war : ich habe <? anstatt <?php geschrieben ...
Aber es gibt einen neuen Fehler...
Ich habe ein Gästebuch gemacht, was einigermaßen aktzeptabel ist. Es funktioniert und ist von Seitenanfang bis Ende in php geschrieben.
Nun habe ich die Seite in die das reinkommt, auch als php datei gespeichert und ganz unten nachdem </html> habe ich einfach alles aus der php datei eingefügt ...
Warum geht das nicht ? Die Seite kann ich euch nicht zeigen, weil wenn man auf Seitenquelltext anzeigen geht, sieht man die Passwörter obwohls alles php ist -.-
Gibt es vielleicht so schon ne Lösung ?
 
Was muss ich machen, wenn ich nur begrenz viele Beiträge anzeigen will ? Ich habe an alle möglichen Stellen for schleifen hingesetzt und vieles probiert, aber nie kam das richtige Ergebnis hin !
Hier mal der relevante code :
Code:
while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)){
 
    echo "<div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> ";
   
 
    echo "Gästebucheintrag: ";
    echo $daten['eintrag'];
    echo "<br />";
	
	echo "</div>";
	
	
	
}
 
Das ist nicht der relevante Code. Relevant für deinen Wunsch ist das SQL-Statement was Du ausführst. Denn in diesem musst Du noch LIMIT ergänzen.
 
Oke, sorry. Hier dann mal der ganze PHP-Code :
Code:
<?php

define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'bdg.de' );
define ( 'MYSQL_KENNWORT', 'lol-rofl-lol' );
define ( 'MYSQL_DATENBANK', 'homepageanwendung' );






$db_link = @mysql_connect (MYSQL_HOST,
                           MYSQL_BENUTZER,
                           MYSQL_KENNWORT);
if ( ! $db_link )
{
    die('keine Verbindung zur Zeit möglich - später probieren ');
}


$db_sel = mysql_select_db( MYSQL_DATENBANK )
    or die("Auswahl der Datenbank fehlgeschlagen");
	


// SQL-Befehl für den Zugriff
$sql = "
    SELECT
        *
    FROM gaestebuch
    ORDER BY datum
";
 
// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );


if ( ! $db_erg )
{
    die('Ungültige Abfrage: ' . mysql_error());
}


$anzahl_eintraege = mysql_num_rows($db_erg);
echo "<p>Anzahl der Gästebuch-Einträge: $anzahl_eintraege </p>";
echo "
<div class='css-block'>
  <h3><a>Kommentare</a></h3>";


while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
    echo "<div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> ";
   
    echo "Gästebucheintrag: ";
    echo $daten['eintrag'];
    echo "<br />";
	
	echo "</div>";
}
echo " 
</div> ";
			
			
mysql_free_result( $db_erg );


?>
 
Ich habs selbst geschafft, als ich nach "LIMIT mySQL" gegooglet habe ... Danke :D Aber es ergibt sich ein neues Problem ... Hier mal ein Bild : http://pic.up-the-file.de/kPQ1h0hGqU.png
Da sind sooo fette Abstände zwischen ! Woher kommt das ? Den Code seht ihr hier :
Code:
while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)){
    echo "<div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> ";
   
  //  echo "ID: ";
  //  echo $daten['id'];
  //  echo "<br />";
 
  //  echo "Name: ";
  //  echo $daten['name'];
  //  echo "<br />";
 
  //  echo "E-Mail: ";
  //  echo $daten['email'];
  //  echo "<br />";
 
  //  echo "URL: ";
  //  echo $daten['url'];
  //  echo "<br />";
 
  //  echo "Datum: ";
  //  echo $daten['datum'];
  //  echo "<br />";
 
    echo "Gästebucheintrag: ";
    echo $daten['eintrag'];
    echo "<br />";
	
	echo "</div>";
}

Da sind alle "br"'s auskommentiert .... Nur der nach dem Gästebucheintrag nicht ...
 
Ich sprach von den Abständen von der einen Zeile zur nächsten ;)
Aber dein Tipp hat super funktioniert ! Danke !
 
Jetzt aber noch so ziemlich das letzte :
echo "<h4>Von: </h4>";
echo $daten['name'];

Das wird im Browser so angezeigt, dass in der ersten Zeile "von" steht, und in der zweiten Zeile der Name ... Aber da ist doch agrkein "br", wiso wird dass dann in der nächsten Zeile angezeigt ???
 
Code:
[TABLE]
[TR]
[TD="class: webkit-line-content"]<div class='css-block' style='margin-left : 235px; margin-right : 105px;'> <h3><a>Kommentare</a></h3><div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> <h4>Von: </h4>Hallo<h4>Gästebucheintrag: </h4></div><div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> <h4>Von: </h4>Hallo<h4>Gästebucheintrag: </h4></div><div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> <h4>Von: </h4>BDG<h4>Gästebucheintrag: </h4>jeINFCEvemvSAC[/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"]CRHNIcaILRNVwinDJNvoifiro*[/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"]RvmOIV</div><div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> <h4>Von: </h4>bdu<h4>Gästebucheintrag: </h4>btgNREA&HZTRba[/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"]tdnakrepmgtpoautbigq</div><div class='css-block-inner' style='float: left; height: 80px; width: 150px;'> <h4>Von: </h4>BDGv<h4>Gästebucheintrag: </h4>Tibeztaaaaa</div> [/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"]</div> 		[/TD]
[/TR]
[TR]
[TD="class: webkit-line-number"][/TD]
[TD="class: webkit-line-content"][/TD]
[/TR]
[/TABLE]

Das kommt im Browser an ... Und da sehe ich auch keine BR's

<h4>Von: </h4>bdu<h4>Gästebucheintrag: </h4>btgNREA&HZTRba

^^ Da ist aber zwischen Von und dem Namen kein br !
 
Ich öffne es vor "von" und danach schleiße ich es, weil der Name nicht in größe "h4" gedruckt werden soll ...
 
h4 ist ein Block-Level-Element zur semantischen Auszeichnung einer Überschrift. Es ist nicht dazu gedacht, eine bestimmte Textgröße zu erzwingen.

Und wie es Block-Level-Elemente nun mal so an sich haben, nehmen sie standardmäßig die gesamte zur Verfügung stehende Breite ein.

Nutze etwas dieser Art:

HTML:
<p>Von: <span class="xyz">BDG</span></p>

Code:
.xyz {
    font-size: 1.5em;
}
 
Zurück
Oben