Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

MySQL auslesen

Könnt ihr euch mal meinen Code anschauen? Ich bin ein blutiger Anfänger in PHP und MySQL. Also, ich habe eine Datenbank, afiedler, mit einer Tabelle, tutorials, mit den Datensätzen, ueberschrift, text, link. Jetzt möchte ich den Datensatz ( die Zeile?) text auslesen und ins html schreiben lassen. Nur sehe ich nix, noch nicht einmal eine Fehlermeldung. Wo liegt der Fehler?

<?php
/* HTML-Startcode ausgeben */
echo "<html>\n<body>\n";

define ("db_server", "wdb.htwm.de");
define ("db_name", "afiedler");
define ("db_user", "afiedler_ro");
define ("db_passwort", "*************");

/* mit sql verbinden */
$db=MYSQL_CONNECT(db_server, db_user, db_passwort);
$db_check = @MYSQL_SELECT_DB(db_name);

/* sql auslesen */
$auslesen = mysql_query("SELECT * FROM 'tutorials'");
while($row = mysql_fetch_array($auslesen)) {
echo $row['text'];
}


mysql_close($db);

/* HTML-Endcode ausgeben */
echo "</body>\n</html>\n";

?>

Hier gehts zum Orginal Eintrag "MySQL auslesen" im Forum

Antworten

Jetzt bin ich schonmal soweit. Da müßte ich doch alle 3 Datensätze ausgegeben bekommen, oder? Weil ich seh nix... :(

<?php
/* HTML-Startcode ausgeben */
echo "<html>\n<body>\n";

define ("db_server", "wdb.htwm.de");
define ("db_name", "afiedler");
define ("db_user", "afiedler_ro");
define ("db_passwort", "****");

/* mit sql verbinden */
$db=MYSQL_CONNECT(db_server, db_user, db_passwort)
or die( "Datenbank-Server nicht erreichbar.");
mysql_select_db( db_name, $db)
or die( "Kann die Datenbank nicht öffnen.");

$query = sprintf( "select * from 'tutorials' order by id");
$result = mysql_query($query, $db);


while( $satz = mysql_fetch_array( $result)) {
foreach( $satz as $key => $value) {
echo "Feldname: $key; Inhalt: $value\n";
}
}


mysql_close($db);

/* HTML-Endcode ausgeben */
echo "</body>\n</html>\n";

?>


2.

$db=MYSQL_CONNECT(db_server, db_user, db_passwort)
or die( "Datenbank-Server nicht erreichbar");
mysql_select_db( db_name, $db)
or die( "Kann die Datenbank nicht öffnen.");


$result1 = mysql_query("select `ueberschrift` from `tutorials`");
$result2 = mysql_query("select `text` from `tutorials`");
$result3 = mysql_query("select `link` from `tutorials`");

for($i=0; $i < mysql_num_rows($result1); $i++) {
while ($row = mysql_fetch_row($result1)) {
echo "<p>$row[$i]</p>";
};

while ($row = mysql_fetch_row($result2)) {
echo "<p>$row[$i]</p>";
};

while ($row = mysql_fetch_row($result3)) {
echo "<p>$row[$i]</p>";
};
};


3.

Dies kann man auch in einer Query erledigen:

$result1 = mysql_query("select `ueberschrift` from `tutorials`");
$result2 = mysql_query("select `text` from `tutorials`");
$result3 = mysql_query("select `link` from `tutorials`");

$result = mysql_query("select `ueberschrift`,`text`, `link` from `tutorials`");

*** Nobody ***

PS: :-) Du musst mir Einen ausgeben, das ist die 555 Antwort von mir in diesem Forum! :-)


4.

Jetzt hab ichs so dastehen:

$result = mysql_query("select `ueberschrift`, `text`, `link` from `tutorials`");

while ($row = mysql_fetch_row($result)) {
$ueberschrift = $row;
};
while ($row = mysql_fetch_row($result)) {
$text = $row;
};
while ($row = mysql_fetch_row($result)) {
$link = $row;
};

Mein Problem ist jetzt, dass ich alles durcheinander gewürfelt bekomme. Ich gebe ueberschrift, text, link dann als vlib loob aus. Gibt es eine andere Möglichkeit, ueberschrift, text und link aufzuspalten und in einer for Schleife nacheinander (Datensatzweise) auszugeben? Oder kann ich irgendwie direckt auf bestimmte Daten, also z.B. nur die erste Überschrift, zuzugreifen? Oder noch besser alle Daten (like mysql_query("select * from `tutorials`") ) mit einem rutsch abzufragen, und dann zu sagen, das ist Überschrift1, das ist Überschrift2, das ist Text1, u.s.w.?
Kommst du aus Mittweida (FH?) oder Auerbach? Dann könnmer uns mal treffen, und ich geb dir was aus! :o)

thanx André aka SunboX


5.

Ausprobieren kannst du es unter folgendem Link:

www.afiedler.htwm.de/php/

Ciao


6.

------------- Noch lieber wären mir drei Arrays in der Form: ----------------------------------------

ueberschrift[ueberschrift1, ueberschrift2, ueberschrift3, ... ]
text[text1, text2, text3, ... ]
link[link1, link2, link3, ... ]

------------- Da ich die Daten wie folgt weiterverarbeite: ---------------------------------------------

$tmpl = new vlibTemplate('layout.html');

$tablearr_basic = array();

for($i=0; $i < mysql_num_rows($result); $i++) {
array_push($tablearr_basic, array(
'UEBERSCHRIFT' => $ueberschrift[$i],
'TEXT' => $text[$i],
'LINK' => $link[$i],
));
}

$tmpl->setLoop('basic_loop', $tablearr_basic);
$tmpl->pparse();


7.

... Bin aber trotzdem für Verbesserungsvorschläge jeglicher Art offen!

---------------------- So siehts jetzt aus: --------------------------------------------------

include_once('data.php');

include_once('vlibTemplate.php');

$tmpl = new vlibTemplate('layout.html');

$tablearr_basic = array();

for($i=0; $i < mysql_num_rows($result); $i++) {
array_push($tablearr_basic, array(
'UEBERSCHRIFT' => mysql_result($result, $i, "ueberschrift"),
'TEXT' => mysql_result($result, $i, "text"),
'LINK' => mysql_result($result, $i, "link"),
));
}

$tmpl->setLoop('basic_loop', $tablearr_basic);
$tmpl->pparse();


Hier gehts zum Orginal Eintrag "MySQL auslesen" im Forum
 
phpforum.de | Impressum