mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 22:35 Benutzername: Passwort: Auto-Login

Thema: [php / mysql] Mysql Daten in php als Link ausgeben vom 13.02.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php / mysql] Mysql Daten in php als Link ausgeben
Autor Nachricht
ernst86
Threadersteller

Dabei seit: 13.02.2008
Ort: Karlsfeld
Alter: -
Geschlecht: Männlich
Verfasst Mi 13.02.2008 21:11
Titel

[php / mysql] Mysql Daten in php als Link ausgeben

Antworten mit Zitat Zum Seitenanfang

Guten Tag,

ich bin ein richtiger Grünschnabel in sachen mysql und php.

Jetzt habe ich eine MYSQL Tabelle in der ich folgende Zeilen auslesen möchte.
Aber so das wenn ich die PHP Datei öffne ich den Link der sich aus der spalte
Domain und tld zusammensetzt anklicken kann.

domain - tld - transfer

bisher habe ich es nur geschafft mir diese Daten anzeigen zu lassen.

Hier einmal mein bisherieger Code

Code:

$dbverbindung = mysql_connect ($host, $user, $password);

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

 while ($ausgabe = mysql_fetch_array ($result))
 {
 print ("$ausgabe[domain]$ausgabe[tld]<br><hr><br>");
 }

mysql_close ($dbverbindung)


Er gibt mir so die Dateien aus, aber ich kann Sie nicht als Link ausgeben.

Und am besten wäre es wenn der letzte Datensatz der neu hinzukommt immer oben steht,
da bisher der erste oben steht.

Warscheinlich ist dies wunder einfach und ich bin nur zu dumm im Moment. Au weia! * Keine Ahnung... *

Habe gegoogelt und in php5 büchern geblättert.

Vielen Dank für eure Hilfe *Thumbs up!*


Zuletzt bearbeitet von ernst86 am Mi 13.02.2008 21:16, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
betti09364

Dabei seit: 11.02.2008
Ort: -
Alter: 36
Geschlecht: Weiblich
Verfasst Mi 13.02.2008 21:45
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

print ("$ausgabe[domain]$ausgabe[domain]<br><hr><br>");


tauschen mit

Code:

echo '<a href=\'' . $ausgabe[domain] . $ausgabe[domain] . '\'>' . $ausgabe[domain] . $ausgabe[domain] . '</a>';
echo '<br /><br /><br />';



?!
  View user's profile Private Nachricht senden
Anzeige
Anzeige
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Mi 13.02.2008 22:25
Titel

Antworten mit Zitat Zum Seitenanfang

Ja. Damit wäre das Problem mit der Ausgabe der Links gelöst...

Aber zu dem Code gibt es noch einiges zu sagen:

Es gibt gar keine Fehlerbehandlung. Was passiert denn, wenn der Datenbankserver offline ist und keine Verbindung zur Datenbank hergestellt werden kann oder falls sonst ein Fehler auftritt?
Ich würde eventuell auftretende Fehler abfangen und dem User der Website eine Fehlermeldung anzeigen lassen.

Warum soll ich nicht SELECT * schreiben?

Folgenden funktioniert nur, weil PHP so gnädig ist:
Code:
echo '<a href=\'' . $ausgabe[domain] . $ausgabe[domain] . '\'>' . $ausgabe[domain] . $ausgabe[domain] . '</a>';

Aber je nach Einstellung des error_reporting kann es zu unschönen Meldungen kommen.
Es gibt kein $ausgabe[domain]. Das Ding heißt $ausgabe['domain'].
Du versuchst hier auf die nicht definierte Konstante domain zuzugreifen. Weil es diese aber nicht gibt, vermutet PHP einfach mal, daß du das entsprechende Element des assoziativen Arrays meinst.
Aber wie gesagt: Je nach PHP-Konfiguration wird das gemeldet...
Innerhalb von Quotes darf man das auch so schreiben, aber im obigen Beispiel geht das nicht. Da müssten die Quotes stehen, wenn du wirklich korrekten Code schreiben willst.

Und als Letztes zu der Sortierung:
Zitat:
Und am besten wäre es wenn der letzte Datensatz der neu hinzukommt immer oben steht,
da bisher der erste oben steht.

In welcher Reihenfolge die Datensätze bei dir angezeigt werden, ist mehr oder weniger Glückssache.
Wenn du dort eine Ordnung haben willst, mußt du die Sache ein wenig anders angehen. Wahrscheinlich mußt du eine Änderung an deiner Datenbank-Tabelle vornehmen und eine neue Spalte einfügen.
Ich würde eine Spalte namens id vom Typ INT anfügen und auf AUTO_INCREMENT setzen.
Jeder neue Datensatz erhält dann automatisch eine Nummer, die MySQL dann hoch zählt.
Neuere Datensätze haben dann logischerweise eine höhere id als ältere und du kannst du Sortierung dann beeinflussen, indem du deinem SELECT-Statement ein ORDER BY mitgibst.
Beispiel:
aufsteigende Sortierung:
Code:
$sql = "SELECT id, domain, tld FROM tabelle ORDER BY id ASC";

absteigende Sortierung:
Code:
$sql = "SELECT id, domain, tld FROM tabelle ORDER BY id DESC";
  View user's profile Private Nachricht senden
ernst86
Threadersteller

Dabei seit: 13.02.2008
Ort: Karlsfeld
Alter: -
Geschlecht: Männlich
Verfasst Mi 13.02.2008 22:28
Titel

Antworten mit Zitat Zum Seitenanfang

Also ansich funktioniert es aber mit fehlt zwischen [domain] und [tld] noch ein Punkt.

wie bekomm ich das hin

sieht jetz so aus

Code:
$dbverbindung = mysql_connect ($host, $user, $password);

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

 while ($ausgabe = mysql_fetch_array ($result))
 {
 echo '<a href=\'http://' . $ausgabe[domain] . $ausgabe[tld] . '\'>' . $ausgabe[domain] . $ausgabe[tld] . '</a>';
echo '<br /><br /><br />';
 }

mysql_close ($dbverbindung)


und wie bekomm ich es hin das er mir die datensätze rückwärts ausgibt ?

Aber dankeschonmal

eine spalte mit ID ist vorhanden !

Edit:

könnten sie mir den code so basteln das er funktioniert ? wäre super nett !


Zuletzt bearbeitet von ernst86 am Mi 13.02.2008 22:35, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Do 14.02.2008 02:18
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Also ansich funktioniert es aber mit fehlt zwischen [domain] und [tld] noch ein Punkt.

Huch? Absolute PHP-Grundlagen. String-Konkatenation.
Mit dem Punkt-Operator verknüpft man Zeichenketten. Wenn du einen Punkt zwischen den beiden Variablenwerten haben willst ist das der String ".".
Code:
echo '<a href=\'http://' . $ausgabe[domain] . '.' . $ausgabe[tld] . '\'>' . $ausgabe[domain] . $ausgabe[tld] . '</a>';

Zitat:
und wie bekomm ich es hin das er mir die datensätze rückwärts ausgibt ?

Das habe ich dir doch eben schon geschrieben.
Was meinst du, was ich mit "aufsteigender und absteigender Sortierung" sagen wollte. ASC(ending) = aufsteigend, DESC(ending) = absteigend, sprich "Datensätze rückwärts".

Zitat:
könnten sie mir den code so basteln das er funktioniert ? wäre super nett !

Wäre es nicht sinnvoller, wenn du versuchen würdest, die Sache selbst zu verstehen..?
Wenn ich sowas lese, muß ich mir jedesmal überlegen, ob ich überhaupt noch antworten will.
Das klingt immer so wie: "Macht mal meine Arbeit. Hab keine Lust, dafür Zeit aufzubringen."
Ich finde, ein wenig Eigeninitiative sollte schon da sein. Alle helfen gerne, aber keine hat Lust, die Arbeit anderer zu machen. Besonders nicht, wenn es keine Anzeichen dafür gibt, daß jemand lernbereit ist.
Daher schreibe ich den Code auch nicht fertig. Alles, was dazu nötig ist, wurde ja hier bereits geschrieben.
Du mußt es dir nur noch selbst zusammensetzen, was eigentlich gar kein Problem mehr sein sollte.
Hast du mein Posting eigentlich überhaupt richtig gelesen? Da habe ich geschrieben, wie das mit der Sortierung funktioniert und ich habe auch noch auf andere Dinge hingewiesen, aber das wurde scheinbar alles ignoriert, wenn ich den momentanen Code betrachte...

Nunja...
Wenn du mehr wissen willst, dann wirf doch mal einen Blick auf diese Seite: PHP für dich - PHP und mySQL einfach und kurz erklärt.
Und hier, der MySQL-Teil.
Auch Sortierungen werden erklärt.
Ist für Anfänger recht gut verständlich geschrieben.

Und falls es dann noch Fragen geben sollte, kannst du sie ja dann gerne hier stellen.
  View user's profile Private Nachricht senden
ernst86
Threadersteller

Dabei seit: 13.02.2008
Ort: Karlsfeld
Alter: -
Geschlecht: Männlich
Verfasst Do 14.02.2008 08:32
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo,

sie haben schon recht damit das man sich damit eigentlich selbst befassen sollte und nicht die Arbeit einfach von einem anderen erledigen lassen. Durch Ihre Hilfestellungen habe ich das Problem nun lösen können.

Vielen dank für die Lösungsansätze und Codeschnipsel.

[Close]
  View user's profile Private Nachricht senden
instinkt

Dabei seit: 25.01.2006
Ort: Schwäbisch Hall
Alter: 35
Geschlecht: Männlich
Verfasst Do 14.02.2008 08:40
Titel

Antworten mit Zitat Zum Seitenanfang

www.Schattenbaum.net bietet für Einsteiger gute Tutorials im Umgang mit PHP und MySQL...

MfG
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Do 14.02.2008 09:59
Titel

Antworten mit Zitat Zum Seitenanfang

instinkt hat geschrieben:
www.Schattenbaum.net bietet für Einsteiger gute Tutorials im Umgang mit PHP und MySQL...

MfG



* Applaus, Applaus * super link, gleich mal an neuen azubi weiterschicken :>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [mySQL] / [PHP] Daten aus DB in html-tag ausgeben?
[php/mysql] daten mehrspaltig ausgeben
PHP / MYSQL Daten in zwei Tabellenspalten ausgeben
mysql > ganze zeile > ausgeben ...
MYSQL: Automatischer Link
Wert aus MYSQL als Link darstellen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.