Aus Datenbank auf Seite [PHP]

06/01/2012 12:33 DasPrinzip.#1
Hallo ich bins mal wieder :D

Ich hab jetzt ein Formular, welches den letzten Teil des Links in eine Datenbank einfügt.

Datenbank wie folgt:

id | link | ip

Die ID wird automatisch eingetragen sowie die IP.
Der Link variiert immer nach der Eingabe im Formular.

Wie kann ich jetzt mit PHP die Datenbank auslesen und jeden eingetragenen Link auf der Startseite anzeigen?

Der Code muss am ende wie folgt aussehen:

Code:
<p><iframe src="https://embed.spotify.com/?uri=spotify:track:[COLOR="red"]<?php echo $link;?>[/COLOR]" width="300" height="380" frameborder="0" allowtransparency="true"></iframe></p>
<p><iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fopen.spotify.com%2Ftrack%2F[COLOR="Red"]<?php echo $link;?>[/COLOR]&send=false&layout=button_count&width=450&show_faces=true&action=like&colorscheme=light&font&height=21&appId=369070083153095" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:21px;" allowTransparency="true"></iframe>	<input type="button" name="vote" value="Vote"</p>
Wobei die Variable im Link durch die Einträge der Datenbank ersetzt wird.
Dabei muss PHP wohl auch immer den ganzen Codeschnipsel einfügen.

Geht das mit einem Array oder wie kann ich mir das vorstellen?
06/01/2012 12:48 Cr4nkSt4r#2
Für eine Verbindung von PHP zu SQL benötigst du erst einmal den Aufruf:
PHP Code:
$conn mysql_connect('#HOST#''#BENUTZER#''#PASSWORT#') or die ('Error connecting to mysql');

mysql_select_db('#DATENBANKNAME#'); 
Als nächstes musst du die Inhalte der Tabelle wo die Informationen gespeichert werden auslesen:

PHP Code:
$abfrage mysql_query("SELECT * FROM #TABELLENNAME# ORDER BY id"); 
Nun stehen alle Ergebnisse in der Variable $abfrage.
Um diese zu verwenden bastelst du dir eine schleife in der diese verarbeitet wird:

PHP Code:
while($row mysql_fetch_array($abfrage)) {

In der Schleife kannst du nun alle Infos verwenden, Beispiel:
PHP Code:
while($row mysql_fetch_array($abfrage)) {
  echo 
"ID: "$row['id'] . "<br />";
  echo 
"Link: "$row['link'] . "<br />";
  echo 
"IP: "$row['ip'] . "<br />";
  echo 
"<br />";


Damit kannst du dir dann alles zusammen bauen wie du willst, Beispiel:
PHP Code:

$lines 
= array();
while(
$row mysql_fetch_array($abfrage)) {
  
$lines[] = array('id' => $row['id'], 'link' => $row['link'], 'ip' => $row['ip']);

Dies kannst du dann verwenden wo du willst, Beispiel:

PHP Code:
Hier steht jetzt der 4. Link aus meiner DB:
<?php echo $lines[3]['link']; ?>
Dies kannst du dann in dein Msuter einbauen wo du willst.
Du kannst auch alle Links in der oberen While-Schleife ausgeben wie ich es dir vor gemacht habe, die Platzhalter sind die selben.
Auch kannst du sagen du möchtest nur max. 10 Links aus der Datenbank haben da du alle 1k die später drin sind nicht brauchst und es ein wenig mehr Arbeitsspeicher kostet xD:
PHP Code:
$abfrage mysql_query("SELECT * FROM TABELLENNAME ORDER BY id LIMIT 0,10"); 
Bei weiteren Fragen o.Ä. kannst du dich gerne an mich wenden.

PS: Die #TEXT# sollst du natürlich mit deinen infos ersetzen ;)
PPS: Bevor jetzt Leute kommen mit "Warum nicht OOP bla bla flame", ich nutze für Leute die solche Fragen haben bewusst erst Arrays, auch bei SQL, da sie den Aufbau von Arrays schon kennen sollten und sich nicht umgewöhnen müssen.


~ regards
06/03/2012 18:03 DasPrinzip.#3
Jetzt hab ich noch eine Frage. Da ich nicht eine Seite voll haben will, bei der man 10 Minuten runterscrollen muss, habe ich mir die Blätterfunktion angeschaut. Ich hab Scripts getestet, aber die wollen einefach nicht. Wenn ich dort die Menge 5 angebe sind trotzdem alle Links dort zu sehen. Und wenn man dann auf Seite 2 klickt kommt das Gleiche wie auf Seite 1

Wäre das mit dem oben genannten möglich ein Vote System einzubauen? D.h. jedes mal wenn ein neuer Link eingetragen wird dazu eine Vote ID vergeben wird und man dafür dann Voten kann?
Dazu müsste die Datenbank dann wohl auch flexibel sein und die mit den meisten Votes an erster Stelle bringen, damit man die Ausgabe auf der Homepage eine Top Liste erstellen kann.

Die Überprüfung eines Formulars kapier ich ebenfalls noch nicht so. Damit muss ich mich wohl auch mal richtig auseinandersetzen.

Ich will, dass überprüft wird ob es ein spotify-link ist. Der letzte Teil muss dabei aber flexibel sein.
d.h. *gleichbleibend* [Only registered and activated users can see links. Click Here To Register...] */gleichbleibend* *flexibel*1x6ACsKV4UdWS2FMuPFUiT*/flexibel*

Der Link sieht normalerweiße so aus: [Only registered and activated users can see links. Click Here To Register...]

Das ist das erste. Da die Datenbank aber nur den flexiblen Teil braucht, aber ich den Besuchern nicht die Arbeit machen will nur den hinteren Teil rauskopieren lassen wollte ich fragen ob es geht, nur den letzten Teil in die Datenbank zu schreiben auch wenn der ganze Link eingetragen wird.
06/03/2012 19:09 boxxiebabee#4
Anscheinend sollen wir für dich deine Seite coden.
Am besten aber du lernst erstmal die Grundlagen, da Sachen wie z.B. Datenbank auslesen, Blätter-Funktion etc. zu den Basic's gehören.