Hallo,
als absoluter Newbie in Sachen PHP und MySQL brauche ich dringend Hilfe.
Ich habe meine erste kleine Datenbank angelegt, die immerhin schon mal korrekt angezeigt wird.
Allerdings möchte ich, dass die Datenausgabe "Anbieter" mit einem Link unterlegt wird.
Der jeweilige Link ist in der Datenbank als Feld "url" angegeben.
Da ich schon diverse Bücher gewälzt und auch einiges ausprobiert habe (z.B. echo "<a href='".$row->url."'>".$row->url."</a>", aber nichts funktioniert, bitte ich um Hilfe.
Der gesamte Code (ohne Link) sieht folgendermaßen aus:
<?php
@mysql_connect("localhost","xxxxxx","xxxxxx") or die("Die Verbindung zur Datenbank konnte leider nicht aufgebaut werden! Bitte versuchen Sie es später noch einmal.");
@mysql_select_db("xxxxxx") or die("Die Verbindung zur Datenbank konnte leider nicht aufgebaut werden! Bitte versuchen Sie es später noch einmal.");
if (date("l")==Monday) {
$sql="SELECT Montag, PreisMo, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Tuesday) {
$sql="SELECT Dienstag, PreisDi, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Wednesday) {
$sql="SELECT Mittwoch, PreisMi, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Thursday) {
$sql="SELECT Donnerstag, PreisDo, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Friday) {
$sql="SELECT Freitag, PreisFr, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Saturday) {
$sql="SELECT Samstag, PreisSa, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Sunday) {
$sql="SELECT Sonntag, PreisSo, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
else {
echo "";
}
$result=mysql_query($sql);
$zeilen=mysql_num_rows($result);
echo "<table width='540' border='0' cellspacing='0'>\n";
echo "<tr><th align='left'>Gericht</th>" .
"<th align='left'>Preis</th><th align='left'>Anbieter</th></tr>\n";
while ($row=mysql_fetch_assoc($result)) {
echo "<tr>";
foreach ($row as $key => $value) {
echo "<td>$value </td>";
}
echo "</tr>";
}
echo "</table>\n";
mysql_close();
?>
Ich habe auch schon gehört bzw. gelesen, dass die Abfrage einfacher geschrieben werden könnte, aber ich bin zu alt oder zu dusselig (oder beides).
Es wäre schön, wenn mir jemand helfen würde.
Vielen Dank und ein schönes Wochenende!
Gruß, Tomkos
als absoluter Newbie in Sachen PHP und MySQL brauche ich dringend Hilfe.
Ich habe meine erste kleine Datenbank angelegt, die immerhin schon mal korrekt angezeigt wird.
Allerdings möchte ich, dass die Datenausgabe "Anbieter" mit einem Link unterlegt wird.
Der jeweilige Link ist in der Datenbank als Feld "url" angegeben.
Da ich schon diverse Bücher gewälzt und auch einiges ausprobiert habe (z.B. echo "<a href='".$row->url."'>".$row->url."</a>", aber nichts funktioniert, bitte ich um Hilfe.
Der gesamte Code (ohne Link) sieht folgendermaßen aus:
<?php
@mysql_connect("localhost","xxxxxx","xxxxxx") or die("Die Verbindung zur Datenbank konnte leider nicht aufgebaut werden! Bitte versuchen Sie es später noch einmal.");
@mysql_select_db("xxxxxx") or die("Die Verbindung zur Datenbank konnte leider nicht aufgebaut werden! Bitte versuchen Sie es später noch einmal.");
if (date("l")==Monday) {
$sql="SELECT Montag, PreisMo, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Tuesday) {
$sql="SELECT Dienstag, PreisDi, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Wednesday) {
$sql="SELECT Mittwoch, PreisMi, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Thursday) {
$sql="SELECT Donnerstag, PreisDo, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Friday) {
$sql="SELECT Freitag, PreisFr, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Saturday) {
$sql="SELECT Samstag, PreisSa, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
if (date("l")==Sunday) {
$sql="SELECT Sonntag, PreisSo, Anbieter FROM anbieter WHERE Ort='Hamburg'";
}
else {
echo "";
}
$result=mysql_query($sql);
$zeilen=mysql_num_rows($result);
echo "<table width='540' border='0' cellspacing='0'>\n";
echo "<tr><th align='left'>Gericht</th>" .
"<th align='left'>Preis</th><th align='left'>Anbieter</th></tr>\n";
while ($row=mysql_fetch_assoc($result)) {
echo "<tr>";
foreach ($row as $key => $value) {
echo "<td>$value </td>";
}
echo "</tr>";
}
echo "</table>\n";
mysql_close();
?>
Ich habe auch schon gehört bzw. gelesen, dass die Abfrage einfacher geschrieben werden könnte, aber ich bin zu alt oder zu dusselig (oder beides).
Es wäre schön, wenn mir jemand helfen würde.
Vielen Dank und ein schönes Wochenende!
Gruß, Tomkos
Kommentar