zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Per Zufallsgenerator ausgewählte Datenbankzeile eines Arrays ausgeben

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 09.06.2012, 19:58
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 09.06.2012
Beiträge: 2
JustLearning befindet sich auf einem aufstrebenden Ast
Standard Per Zufallsgenerator ausgewählte Datenbankzeile eines Arrays ausgeben

Hallo zusammen,

ich möchte gerade ein script erstellen und benötige Eure Hilfe, weil auch stundenlanges Grübeln und Google-Suche zu keinem Erfolg führte.

Die Ausgangssituation sieht wie folgt aus:

Ich habe einen Array. Der Inhalt des Arrays sieht etwa so aus:

Datensatz 1: ID, Spalte 2, Spalte 3,...
Datensatz 2: ID, Spalte 2, Spalte 3,...
Datensatz 3: ID, Spalte 2, Spalte 3,...
Datensatz 4: ID, Spalte 2, Spalte 3,...
Datensatz 5: ID, Spalte 2, Spalte 3,...

Der Array wurde mit mysql_fetch_array gebildet. Die entsprechenden Werte kommen aus einer MySQL-Datenbank.

Die einzelnen Datensätze werden mir auch ordentlich angzeigt. Ich möchte jetzt allerdings folgendes erreichen:

Ich möchte eine Zufallszahl von 1-5 bilden und den Datensatz der entsprechenden Zufallszahl ausgeben. Also wenn per Zufallszahl die 5 kommt, soll nur der Datensatz 5 mit seinen kompletten Spalten ausgegeben werden.
Das o.g. möchte ich in einer Schleife dreimal wiederholen, wobei ein Datensatz in der Schleife auch nur einmal angzeigt werden soll. Ich möchte es vermeiden, dass ein Datensatz zweimal angezeigt wird.

Folgendes habe ich mir überlegt:

PHP-Code:
<?PHP
     
for ($i 0$i 3$i++)
     {
          
$zufallszahl rand(1,$anzahl_der_datensätze);
          if (
$zufallszahl $rowe[id])
          {
               
Ausgabe des Datensatzes
          
}
          else          
          {
               
$zufallszahl rand(1,$anzahl_der_datensätze);
          }
So habe ich mir das Script vorgestellt. Die Zufallszahl wird auch korrekt gebildet (nur innerhalb 1-5). Ich weiss jedoch nicht, wie ich genau den Datensatz ausgeben kann, der als Zufallszahl generiert wurde. Die Ausgabe erfolgt über:

PHP-Code:
<a href="<?PHP echo $rowe['Spaltenname_in_der_MySQL-DB']; ?>
Es wäre super, wenn mir jemand einen Denkanstoß hierfür geben kann.


Vielen Dank vorab
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 10.06.2012, 09:40
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Du hast in deiner If eine Zuweisung statt einer Prüfung.

Deine Lösung ist aber auch etwas kompliziert, du könntest einfach shuffle und array_shift nutzen um das Array in eine zufällige Reihenfolge zu bringen und danach 3 mal auszugeben und zu verkürzen.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 10.06.2012, 09:52
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 09.06.2012
Beiträge: 2
JustLearning befindet sich auf einem aufstrebenden Ast
Standard

Hmm... stimmt...

Da kann ja nur TRUE oder FALSE rauskommen und es erfolgt keine weiter Prüfung...

Habe die Frage eben noch in einem Forum gepostet und folgende Antwort erhalten:

Mache doch einfach ein SELECT mit zufälliger Sortierung (ORDER BY rand()) und einer Limitierten AUsgabe von drei Ergebnissen (LIMIT), dann macht die Datenbank das alles für Dich.

Ich versuche es heute Abend gleich mal, sollte so klappen...

Auf jeden Fall danke für die Antwort
Mit Zitat antworten
  #4 (permalink)  
Alt 10.06.2012, 10:15
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Zitat:
Zitat von JustLearning Beitrag anzeigen
Habe die Frage eben noch in einem Forum gepostet und folgende Antwort erhalten:
Multipostings sind nicht gerne gesehen.

Zitat:
Zitat von JustLearning Beitrag anzeigen
Mache doch einfach ein SELECT mit zufälliger Sortierung (ORDER BY rand()) und einer Limitierten AUsgabe von drei Ergebnissen (LIMIT), dann macht die Datenbank das alles für Dich.
Wenn du Daten nur für diese eine Ausgabe benötigst, kannst du das so machen, dann ist es sicher auch die bessere Lösung. Wenn du die aber auch noch anderweitig benötigst, würde ich die PHP-Lösung bevorzugen.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Anfängerfrage: XML Daten in HTML Datei per Ajax ausgeben mimii Javascript & Ajax 5 18.08.2011 11:08
Spaltennamen einer MySQL-Tabelle per PHP ausgeben bolshi Serveradministration und serverseitige Scripte 14 07.04.2010 16:50
Inhalt eines Arrays ausgeben atroc_noctem Serveradministration und serverseitige Scripte 6 01.02.2010 17:41
Per Ajax ein JS Array aus Datenbank befüllen zur weiterverwendung per JS stravid Javascript & Ajax 30 24.11.2008 13:52
Ist absoluter container mit Höhe der ganzen Seite möglich? amroth.calaelen CSS 8 15.06.2006 15:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:34 Uhr.