Ergebnis 1 bis 6 von 6

Thema: Einen zufälligen Datensatz aus db anzeigen?

  1. #1
    Azubi(ne)
    Registriert seit
    23.12.2007
    Beiträge
    89
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Einen zufälligen Datensatz aus db anzeigen?

    Hallo, ich würde gerne aus meiner datenbank bei jedem reload der website eine zufallsgrafik und den dazugehörigen Link zufällig anzeigen lassen...kann mir da jemand helfen? also es soll bei jedem reload ein kompletter datensatz ausgelesen werden...


    danke


    max
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Prinz(essin) Avatar von Greg10
    Registriert seit
    12.05.2007
    Beiträge
    825
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    du kannst die anzahl der datensätze in der tabelle zählen (SELECT count(*) as Anzahl FROM `tabelle` oder so) und dann mit rand eine zufallszahl erzeugen die zwischen 0 und der ausgelesen zahl steht, dann einfach entsprechende datensatz auslesen (SELECT * FORM `tabelle` LIMIT zahl, 1)
    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC

  3. #3
    Meister(in)
    Registriert seit
    05.03.2006
    Alter
    29
    Beiträge
    432
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Mein Vorschlag:

    Erstmal mit
    Code:
    $query = "SELECT * FROM tabelle";
    $result = mysql_query($query);
    $x = mysql_num_rows($result)
    die Anzahl der Datensätze bestimmen.

    Dann eine Zufallszahl $y zwischen 1 und $x ermitteln und damit dann wie folgt
    Code:
    $query = "SELECT * FROM tabelle WHERE id = $y";
    $result = mysql_query($query);
    den Datensatz anhand der ID auslesen.

    So hast du immer einen zufälligen Datensatz.

    EDIT:
    Zitat Zitat von Greg10
    du kannst die anzahl der datensätze in der tabelle zählen (SELECT count(*) as Anzahl FROM `tabelle` oder so) und dann mit rand eine zufallszahl erzeugen die zwischen 0 und der ausgelesen zahl steht, dann einfach entsprechende datensatz auslesen (SELECT * FORM `tabelle` LIMIT zahl, 1)
    Genau so! Ist sogar kürzer als meine Variante.

  4. #4
    Prinz(essin) Avatar von Greg10
    Registriert seit
    12.05.2007
    Beiträge
    825
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    1. nachteil: die erste abfrage wird denke ich mehr resourcen verbrauchen als meine
    2. nachteil: wer sagt, dass die id immer ohne lücken verläuft?
    evtl. wurde ja mal ein bild gelöscht und deswegen gibt es eine lücke in der reihe
    möglichkeit:
    die id's in einen array lesen und dann mit count die anzahl der elemente ermitteln, danach eine zufallszahl ermitteln und die id aus dem array für die abfrage nutzen
    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC

  5. #5
    Meister(in)
    Registriert seit
    05.03.2006
    Alter
    29
    Beiträge
    432
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von Greg10
    1. nachteil: die erste abfrage wird denke ich mehr resourcen verbrauchen als meine
    2. nachteil: wer sagt, dass die id immer ohne lücken verläuft?
    evtl. wurde ja mal ein bild gelöscht und deswegen gibt es eine lücke in der reihe
    möglichkeit:
    die id's in einen array lesen und dann mit count die anzahl der elemente ermitteln, danach eine zufallszahl ermitteln und die id aus dem array für die abfrage nutzen
    Stimmt, fällt mir auch gerade ein.

    Aber noch viel einfacher ist das hier:
    Code:
    SELECT * FROM tabelle ORDER BY RAND() LIMIT 1
    Quelle: http://www.strassenprogrammierer.de/..._tipp_403.html

  6. #6
    Prinz(essin) Avatar von Greg10
    Registriert seit
    12.05.2007
    Beiträge
    825
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    kannt ich garnicht^^
    man kann doch noch immer was dazu lernen
    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC

Ähnliche Themen

  1. datensatz + datei löschen
    Von Walerik im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 12
    Letzter Beitrag: 11.06.2008, 22:23
  2. Zufälligen Sicherheitscode via Formulareingabe überprüfen...
    Von chris90night im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 19.02.2007, 13:59
  3. Datensatz löschen
    Von subseven im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 01.02.2006, 11:50
  4. datensatz aus array filtern
    Von J-T im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 27.01.2006, 21:11
  5. Datensatz in die DB schreiben...
    Von Wais im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 20.12.2005, 18:33

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •