[PHP] Zufalls abfrage

Dieses Thema im Forum "Webentwicklung" wurde erstellt von freakZ, 21. Februar 2011 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. Februar 2011
    Zufalls abfrage

    hi,

    hab folgende db Struktur:
    id , vorname, nachname, ort, adresse
    1,Thomas,Mueller,2332,Untertestburg
    2,Andrea,Racamus,238,Testcity

    Möchte nun das via rand () funktion nicht nur ein zufälliger Datensatz gelesen wird, sondern immer gemischt wird.
    Das dann z.b aus Datensatz 1 eine mischung mit Datensatz 2 geschieht, also aus Thomas Mueller wird Thomas Racamus.

    Auch Ort und Adresse sollten zufällig gewählt werden jedoch muss 238 Testcity (row 2) stimmen und darf nicht gemischt 238 Untertestburg ergeben.

    Ich bedanke mich schon jetzt
     
  2. 21. Februar 2011
    AW: Zufalls abfrage

    SELECT vorname ...
    SELECT nachname ...
    SELECT ort, adresse ...

    Wo ist das Problem?
     
  3. 21. Februar 2011
    AW: Zufalls abfrage

    hey,

    titel auch richtig gelesen?
    Es geht nicht um select anweisungen, sondern das die Tabellen gemischt werden sollen, was Name und Nachname betrifft.

    Jedoch Ort und PLZ Unverändert angezeigt werden müssen.
     
  4. 21. Februar 2011
    AW: Zufalls abfrage

    Lässt du die ID per auto increcment erstellen?
    Wenn nicht lass die ID doch rnd erstellen und sortier es dann nach der ID.

    Oder versteh ich was falsch?
     
  5. 21. Februar 2011
    AW: Zufalls abfrage

    hey,

    lass ich per autoincrement erstellen schaut derzeit so aus:
    (2, 'Christian', 'Schuller', 'Musterstraße 44', 1010, 'Wien'),
    (3, 'Christine', 'Musan', 'Beispielstraße 08', 4020, 'Wien'),

    Via rand() bekomm ich zwar immer verschiedene angezeigt NUR ich möcht es das es so wird:

    Christian Musan
    Beispielstraße 08
    4020 Wien

    oder Christine Schuller
    Musterstraße 44
    1010 Wien

    Also name und nachname sollen bunt gemischt werden egal wie jedoch soll die Adresse und PLZ und Ort unverändert eingefügt werden (die adresse muss noch zusammenpassen).
     
  6. 21. Februar 2011
    AW: Zufalls abfrage

    Code:
    SELECT 
     strasse, plz, stadt,
    
     ( SELECT vorname
     FROM daten
     ORDER BY RAND()
     LIMIT 1 ) vorname,
    
     ( SELECT nachname
     FROM daten
     ORDER BY RAND()
     LIMIT 1 ) nachname
    
    FROM daten
     
  7. 21. Februar 2011
    AW: Zufalls abfrage

    big big thanks

    hab auch ein wenig herumprobiert nur strasse,plz,ort rotieren selten ;( lässt sich hier was tun um ein wenig mehr rotation reinzubringen.
     
  8. 21. Februar 2011
    AW: Zufalls abfrage

    Was willst du denn noch die Lösungswege stehen doch dort?
    Entweder du lässt das zufällige aussuchen MySQL machen mit dem ORDER BY RAND()- Statement oder du holst die Einträge normal aus der Datenbank und "mischst" es dann z.B innerhalb eines Arrays mit PHP. Durchmischen ansich tust du deine Datenbank nicht, wieso auch würde keinen sinn machen.

    Und ich glaube du verstehst das beispiel nicht:


    Christian -> "SELECT vorname FROM Daten where ID = $ZufälligeID" -> Ausgeben
    Musan -> "SELECT Nachname FROM Daten where ID = $ZufälligeID" -> Ausgeben
    Beispielstraße 08 "SELECT straße FROM Daten where ID = $ZufälligeID" -> Ausgeben
    4020 Wien "SELECT Stadt FROM Daten where ID = $ZufälligeID" -> Ausgeben

    Ich setze vorraus das $ZufälligeID eine durch PHP zufällig generierte zahl ist, die du dann natürlich anhand der Anzahl deiner Datensätze festlegen muss (Wenn du 50 einträge hast sollte $ZufälligeID natürlich nicht = 69 sein .

    Und so hast du das Muster das du haben willst aber jeder Datensatz ist gemischt mit einem Datensatz einer anderen ID.



    Hoffe verstehst worauf ich hnaus will
     
  9. 21. Februar 2011
    AW: Zufalls abfrage

    probier mal:

    Code:
    SELECT 
     DISTINCT
    
     strasse, plz, stadt,
    
     ( SELECT vorname
     FROM daten
     ORDER BY RAND()
     LIMIT 1 ) vorname,
    
     ( SELECT nachname
     FROM daten
     ORDER BY RAND()
     LIMIT 1 ) nachname
    
    FROM daten
    ORDER BY RAND()
     
  10. 22. Februar 2011
    AW: Zufalls abfrage

    big big thanks

    Hab gestern noch ein wenig herum probiert nur DISTINCT war echt ein feiner Ansatz danke ))
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.