anpera.net https://anpera.homeip.net/phpbb3/ |
|
MySQL - Abfrage https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2338 |
Seite 1 von 1 |
Autor: | Lazalantin [ Di 07 Mär, 2006 17:59 ] |
Betreff des Beitrags: | MySQL - Abfrage |
Also, von PHP versteh ich ja nu schon n bissl, aber bei zuviel MySQL hört der Spaß auf ![]() Deshalb brauch ich eine, für euch sicher einfache, für mich zum wahnsinn treibende, Abfrage. (ich versuch das jetzt mal mit beispielen zu erklären) Also die Abfrage diech ham will: Ich will von den Inserts die 'Nummer', den 'Namen', und den 'Platz' aus der Tabelle 'Plätze' haben. Dann soll zufällig ein Insert ausgewählt werden, wo die 'Nummer' mehr als 0 ist. Und dann möchte ich, dass die 'Nummer' von dem Insert dann auf 0 gesetzt wird und der 'Name' auf den Namen des Users. ^^°°° Das krieg ich irgendwie net hin. Wär über jede Hilfe seeeeehr dankbar ^^ |
Autor: | Garlant [ Di 07 Mär, 2006 18:16 ] |
Betreff des Beitrags: | |
ok, habe ich das richtig verstanden. Du möchtest einen query erzeugen, der einige Daten ausgibt. Dieser query soll allerdings gleichzeitig auf einen User überschrieben werden. Wie sieht den die Tabellenstrucktur aus, in der du dies machen möchtest? Sobald ich die weis kann ich dir die Abfrage/n schreiben, bzw. einen lösungsvorschlag bringen. Mfg Garlant edit: ok bemerke gerade erst wie blond ich doch bin XD |
Autor: | Chaosmaker [ Di 07 Mär, 2006 18:58 ] |
Betreff des Beitrags: | |
Ich weiß nicht, was Du da von "Inserts" erzählst, also geh ich mal davon aus, daß Du schlichtweg Datensätze meinst. Möglichkeit: [php]db_query('UPDATE Plaetze SET Nummer=0, Name="'.$session['user']['name'].'" WHERE Nummer > 0 ORDER BY RAND('.e_rand().') LIMIT 1');[/php] -> Wählt einen Datensatz mit Nummer > 0 zufällig aus, setzt dort Nummer auf 0 und Name auf den Namen des Spielers. Was Du allerdings im ersten Satz noch mit Platz willst, versteh ich nicht. Ein einfaches Select oder wie oder was? |
Autor: | Auric [ Di 07 Mär, 2006 19:06 ] |
Betreff des Beitrags: | |
hmm.. vllt so: [php] $sql="SELECT `Nummer`,`Name`,`Platz` FROM `Plaetze`"; $result=db_query($sql); $zahl=e_rand(1,db_num_rows($result)); while($row=db_fetch_assoc($result) { if($row['Nummer']==$zahl) { db_query("UPDATE `Plaetze` SET `Nummer`= 0, `Name` = ".$session[user][name]." LIMIT 1"); } } [/php] Das dürfte in etwa funzen, wenn ich dich richtig verstanden habe... Edit: Hmm, das vopn Chaos sieht wesentlich übersichtlicher aus, aber bei mir hast du eben geich die Daten aus der Datenbank im Array "$row" gespeichert - allerdings nur während der schleife ^^[/php] |
Autor: | Meteora [ Di 07 Mär, 2006 19:42 ] |
Betreff des Beitrags: | |
Verbesserte version von auric: [php] $sql="SELECT p.number,p.name,p.place FROM places p ORDER BY rand() LIMIT 1"; $result=mysql_query($sql); $row=mysql_fetch_assoc($result) mysql_query("UPDATE places p SET p.number = 0, p.name = '".$session[user][name]."' WHERE p.number>0 AND p.name = '".$row['name']."' LIMIT 1"); [/php] mfg |
Autor: | Lazalantin [ Di 07 Mär, 2006 20:06 ] |
Betreff des Beitrags: | |
hey hey, das sieht gut aus alles ^.^ und funzt auch. aber jetz noch was, bin mir nicht sicher obs geht, aber kann man machen, dass dann in dem datensatz, der dann geupdatet wird, da das 'place' irgendwie rausnimmt und als $platz bezeichnen kann? |
Autor: | Meteora [ Di 07 Mär, 2006 20:35 ] |
Betreff des Beitrags: | |
[php] $platz = $row['place']; [/php] |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |