Community

9dots.de Webdesign Board

 

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 

 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 


Zufallsbild/-text per PHP

 
Neues Thema eröffnen   Neue Antwort erstellen    9dots.de Webdesign Community Foren-Übersicht -> Coding-Tutorials
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  

Hat dir das Tutorial gefallen?
Ja
28%
 28%  [ 2 ]
Nein
71%
 71%  [ 5 ]
Stimmen insgesamt : 7

Autor Nachricht
Impi
Mitglied
Mitglied


Angemeldet: 06.05.2006
Beiträge: 530


BeitragVerfasst am: 06.05.2006, 19:50    Titel: Zufallsbild/-text per PHP Antworten mit Zitat
Im Folgenden Tutorial werde ich erklären wie man mit PHP eine Banner- bzw. Textrotation scriptet.

Vorweg:
Ich arbeite mit MySQL also benutze ich auch diese Datenbankform für das Tutorial.

Der Datenbankaufbau
Tabelle 'banner' besteht aus 2 Spalten:
id(Integer + auto_increment + Primärschlüssel) und url(varchar 100)
Code:

CREATE TABLE banner (
  id int(11) NOT NULL auto_increment,
  url varchar(100) NOT NULL,
  PRIMARY KEY  (id),
  KEY id (id)
)


Tabelle 'texte' besteht aus 2 Spalten:
id(Integer + auto_increment + Primärschlüssel) und inhalt(TEXT)
Code:

CREATE TABLE texte (
  id int(11) NOT NULL auto_increment,
  inhalt TEXT,
  PRIMARY KEY  (id),
  KEY id (id)
)


Die Struktur sollte wohl verständlich sein, deshalb gehe ich hier mal nicht weiter darauf ein Smilie.


Das Script
Das Script wird ersteinmal die Datenbankverbindung bestimmen und diese Verbindung dann als 'Default' selectieren.
Das geht so
Code:

<?php
$db_fehler = "
Es konnte keine Verbindung zur Datenbank aufgebaut werden ...
";

$dbserver = "localhost"; // Hostname, meistens localhost
$nutzer = "impi"; // Username der Datenbank
$passwort = "ganzgeheim"; // Passwort der Datenkbank
$dbname = "rotationtutorial"; // Datenbankname

$db = mysql_connect($dbserver,$nutzer,$passwort) OR die($db_fehler); //Verbindung zur Datenbank herstellen
mysql_select_db($dbname,$db) OR die($db_fehler); //Datenbank als 'Default' selectieren


Jetzt haben wir alle Vorbereitungen für den Hauptteil des Scriptes geschaffen. Jetzt gilt es die Datenbankinhalte ( die Du natürlich vorher eingetragen hast ) zufällig abzurufen.
Das macht man so
Code:

//Anzahl der Datenbankzeilen zählen
$sql = mysql_query("SELECT Count(*) FROM banner");
while($row = mysql_fetch_assoc($sql)){
$foo = $row[Count(id)];
}
//Zufallszahl ermitteln
$zufall = rand(1, $foo);
//Zufälligen Banner auswählen und darstellen
$sql = mysql_query("SELECT * FROM banner WHERE id = '$zufall'");
while($row = mysql_fetch_assoc($sql)){
echo "<img src='$row[url]'>";
}
?>


Das wars schon Smilie! Garnicht so schwer, oder? Mit den Texten verläuft es genau so, man muss nur Tabellenname und Spaltenname ändern bzw. die Ausgabe abändern, das kannst du jetzt allerdings selbst.

Ich hoffe das Tutorial hat Dir geholfen.

Impi

P.S.: Hab das Ganze noch nicht getestet, es sollte dennoch funktionieren Smilie


Zuletzt bearbeitet von Impi am 07.05.2006, 11:01, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Panda
Mitglied
Mitglied


Angemeldet: 25.03.2005
Beiträge: 190
Wohnort: Marburg

BeitragVerfasst am: 06.05.2006, 23:15    Titel: Re: Zufallsbild/-text per PHP Antworten mit Zitat
Impi hat folgendes geschrieben:

Der Datenbankaufbau
Tabelle 'banner' besteht aus 2 Spalten:
id(Integer + auto_increment + Primärschlüssel) und url(varchar 100)
Code:

CREATE TABLE banner (
  id int(11) NOT NULL auto_increment,
  url varchar(100) NOT NULL,
  PRIMARY KEY  (id),
  KEY id (id)
)


Tabelle 'texte' besteht aus 2 Spalten:
id(Integer + auto_increment + Primärschlüssel) und inhalt(TEXT)
Code:

CREATE TABLE banner (
  id int(11) NOT NULL auto_increment,
  inhalt TEXT,
  PRIMARY KEY  (id),
  KEY id (id)
)



hab da nen fehler gefunden Winken

hab aber noch nicht weiter reingeguckt, weiteres kommt per edit
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
syrec
Mitglied
Mitglied


Angemeldet: 03.03.2006
Beiträge: 163


BeitragVerfasst am: 07.05.2006, 00:12    Titel: Re: Zufallsbild/-text per PHP Antworten mit Zitat
[quote="Impi"]



Code:

<?php
$db_fehler = "
Es konnte keine Verbindung zur Datenbank aufgebaut werden ...
";

$dbserver = "localhost"; // Hostname, meistens localhost
$nutzer = "impi"; // Username der Datenbank
$passwort = "ganzgeheim"; // Passwort der Datenkbank
$dbname = "rotationtutorial"; // Datenbankname

$db = mysql_connect($dbserver,$nutzer,$passwort) OR die($db_fehler); //Verbindung zur Datenbank herstellen
mysql_select_db($dbname,$db) OR die($db_fehler); //Datenbank als 'Default' selectieren


Kenn mich null aus aber heisst das nicht

Code:
$db = @mysql_connect($dbserver,$nutzer,$passwort)


?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Panda
Mitglied
Mitglied


Angemeldet: 25.03.2005
Beiträge: 190
Wohnort: Marburg

BeitragVerfasst am: 07.05.2006, 00:29    Titel: Antworten mit Zitat
nein, man braucht kein @ davor
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Yada
Mitglied
Mitglied


Angemeldet: 08.06.2004
Beiträge: 267

Interessen: zuviel

BeitragVerfasst am: 07.05.2006, 00:33    Titel: Antworten mit Zitat
Ähm... SELECT * FROM banner ORDER BY RAND() ?!

Dauert 1 Sekunde zum Schreiben, ist viel einfacher - und wenn du bei deiner Variante einen Eintrag löschst kommts zu Fehlern Smilie

hf, Yada
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
syrec
Mitglied
Mitglied


Angemeldet: 03.03.2006
Beiträge: 163


BeitragVerfasst am: 07.05.2006, 00:40    Titel: Antworten mit Zitat
Panda hat folgendes geschrieben:
nein, man braucht kein @ davor


sry dachte weil ich das so oft gesehen habe....wie gesagt hab null ahnung...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Impi
Mitglied
Mitglied


Angemeldet: 06.05.2006
Beiträge: 530


BeitragVerfasst am: 07.05.2006, 10:21    Titel: Re: Zufallsbild/-text per PHP Antworten mit Zitat
Panda hat folgendes geschrieben:

hab da nen fehler gefunden Winken

hab aber noch nicht weiter reingeguckt, weiteres kommt per edit


Der Fehler wäre ... ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Impi
Mitglied
Mitglied


Angemeldet: 06.05.2006
Beiträge: 530


BeitragVerfasst am: 07.05.2006, 10:24    Titel: Antworten mit Zitat
Yada hat folgendes geschrieben:
Ähm... SELECT * FROM banner ORDER BY RAND() ?!

Dauert 1 Sekunde zum Schreiben, ist viel einfacher - und wenn du bei deiner Variante einen Eintrag löschst kommts zu Fehlern Smilie

hf, Yada


Es gibt sicherlich noch einige andere Varianten, man könnte auch die Banner von 1-x durchnummerieren und dann per Rand(); die jeweilige Datei aus dem Ordner xy auswählen oder mit der Array(); funktion zuweisen.

Das es zu fehlern kommen kann stimmt ...

Impi

P.S.: Lasst mal Nachsicht walten Sehr glücklich ich hab das gestern mal als Einstiegspost genutzt!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Panda
Mitglied
Mitglied


Angemeldet: 25.03.2005
Beiträge: 190
Wohnort: Marburg

BeitragVerfasst am: 07.05.2006, 10:54    Titel: Re: Zufallsbild/-text per PHP Antworten mit Zitat
Panda hat folgendes geschrieben:
Impi hat folgendes geschrieben:

Der Datenbankaufbau
Tabelle 'banner' besteht aus 2 Spalten:
id(Integer + auto_increment + Primärschlüssel) und url(varchar 100)
Code:

CREATE TABLE banner (
  id int(11) NOT NULL auto_increment,
  url varchar(100) NOT NULL,
  PRIMARY KEY  (id),
  KEY id (id)
)


Tabelle 'texte' besteht aus 2 Spalten:
id(Integer + auto_increment + Primärschlüssel) und inhalt(TEXT)
Code:

CREATE TABLE banner (
  id int(11) NOT NULL auto_increment,
  inhalt TEXT,
  PRIMARY KEY  (id),
  KEY id (id)
)




den hier, 2mal die tabelle banner
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Impi
Mitglied
Mitglied


Angemeldet: 06.05.2006
Beiträge: 530


BeitragVerfasst am: 07.05.2006, 11:02    Titel: Antworten mit Zitat
Das war dann wohl ein TIPPfehler Winken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    9dots.de Webdesign Community Foren-Übersicht -> Coding-Tutorials Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Board Software by phpBB © 2001, 2005 phpBB Group. Impressum
Dominik Wuttke - Moritz Münchmeyer - Joachim Nagel GbR.
AGB