php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.07.2008, 15:39  
s1x
Benutzer
 
Benutzerbild von s1x
 
Registriert seit: 24.06.2008
Beiträge: 36
s1x befindet sich auf einem aufstrebenden Ast
s1x eine Nachricht über ICQ schicken
Standard [Erledigt] nächst größere ID

Hallo,
ich hab ein banales Problem, hoffe ich doch.

Und zwar frage ich ab ob dem User die sid zugewiesen ist. Danach soll der nächste Eintrag mit nächst höchsteren ID umgeändert werden, den status auf "1" zu setzen. Das Problem bei der jetzigen Variante ist das er einen belieben Datensatz rausnimmt der höher als der jetztige ist.
Abzufragen was der nächste autoinc. wert ist funktioniert nicht. Da auch amndere User dort eingetragen werden und diese nicht die gleiche sid haben.
Ich hoffe soweit verstanden, hier die Abfrage:

PHP-Code:
// Nächsten Eintrag vorbereiten
$db->query("UPDATE stadt_bauschleife_einheiten SET status='1' WHERE sid='$row[sid]' AND id > '$row[id]' LIMIT 1"); 
Vielen dank, einen schönen Nachmittag noch )
s1x ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.07.2008, 17:06  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Sorry aber ich hab nich verstanden was du meinst. Les dir doch mal deinen Text durch, das ist doch nich wirklich verständlich. Außerdem weiß ich weder was bei dir eine sid ist noch was es bedeutet einen Eintrag "umzuändern".
Flor1an ist offline   Mit Zitat antworten
Alt 06.07.2008, 18:03  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
Ich hoffe soweit verstanden,
Absolut Nein. Sorry, muß da Florian zustimmen. Beschreibe in einfachen, klaren Sätzen deutlich was Du vor hast.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.07.2008, 18:06  
s1x
Benutzer
 
Benutzerbild von s1x
 
Registriert seit: 24.06.2008
Beiträge: 36
s1x befindet sich auf einem aufstrebenden Ast
s1x eine Nachricht über ICQ schicken
Standard



Es handelt sich hierbei um eine Bauschleife.
Also "sid" gilt als die StädteId. Die ist um die Aufträge in der Bauschleife zu zuordnen.

Die Tabelle sieht wie folgt aus:
UHRZEIT: 19:51
id | sid |eid (einheiten id) | menge | startzeit | bauzeit (gesamt) | status
************************************************** *******
1 | 1 | 0 | 5 19:50 2 min | 1
2 | 2 | 0 | 5 19:51 2 min | 1
3 | 1 | 0 | 5 19:52 2 min | 0
4 | 1 | 0 | 5 19:54 2 min | 0
5 | 1 | 0 | 5 19:56 2 min | 0

Zum Eintragen in die DB:
Der Erste Eintrag wird immer auf status=1 gesetzt. Kommen jetzt weitere hinzu bekommen diese status=0 (damit meine Bauschleife kapiert das diese nicht an der Reihe sind).

Nun kommt mein Problem jetzt ist z.B. für ID 1 die Bauzeit vorbei, nun muss ja die nächst höhere ID genommen werden, sprich ID 3. Das Problem ist aber bei meiner jetzigen Abfrage es wird dann z.B. manchmal 3 oder 4 genommen.

Jetzt verständlich? Dankeschön
s1x ist offline   Mit Zitat antworten
Alt 06.07.2008, 18:20  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Wth ist eine "Bauschleife"? Weißer Mann spricht in Rätseln
Zitat:
Jetzt verständlich?
Nö. Waum wird da 3 oder 4 genommen?

Ich rate trotzdem mal in den blauen Dunst: Setze abgearbeitete per UPDATE auf status 0 und suche dann über ein Select LIMIT 1 den ersten Datensatz mit status 1. So sollte es gehen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.07.2008, 18:24  
s1x
Benutzer
 
Benutzerbild von s1x
 
Registriert seit: 24.06.2008
Beiträge: 36
s1x befindet sich auf einem aufstrebenden Ast
s1x eine Nachricht über ICQ schicken
Standard

Eine Bauschleife kennst du sicher, sie fungiert z.B. in Browsergames dazu um Einheiten zu produzieren, oder Gebäude so das man nicht immer online sein muss.

3 oder 4 wird genommen weil es sich um sid 1 handelt (Man gehe von dem Standpunkt aus das man die Stadt "1" hat - sprich |sid|-> 1

Das wäre eine Variante das ist richtig. Ich dachte das es da vielleicht ein SQL Befehl oder Operator oder so gibt. Der den ersten Eintrag in der DB mit der spalte "sid = 1" in diesem Fall abfragt. - Gibt es sowas?

Geändert von s1x (06.07.2008 um 18:26 Uhr). Grund: ....
s1x ist offline   Mit Zitat antworten
Alt 06.07.2008, 18:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Wieso die erste? Maßgeblich ist doch die erste mit einem bestimmt status? Oder ich habs immer noch nicht verstanden.

PS: Nicht immer davon ausgehen, dass jeder Progranmmierer automatisch Browsergame-Fan ist.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.07.2008, 19:19  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wieso selektierst du dann nicht genau EINEN Datensatz WO sid = 1 und SORTIERST absteigend dass eben der erste gefundene Datensatz die kleinste ID hat?? Oder ist das nicht richtig?
Flor1an ist offline   Mit Zitat antworten
Alt 06.07.2008, 21:41  
s1x
Benutzer
 
Benutzerbild von s1x
 
Registriert seit: 24.06.2008
Beiträge: 36
s1x befindet sich auf einem aufstrebenden Ast
s1x eine Nachricht über ICQ schicken
Standard

Genau das habe ich jetzt gemacht. Habe gehoff das es in MySQL sowas vielleicht gibt und mir so einen query spare. Trotzdem danke.

Schönen abend noch.
s1x ist offline   Mit Zitat antworten
Alt 06.07.2008, 21:52  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wieso musst du überhaupt den Status setzen? Es ist doch eh klar dass immer der Bauauftrag mit der niedrigsten ID der aktuelle ist. Daher ist doch die Information "status" überflüssig! Du musst nur überall wo gebaut wird eben dieses LIMIT und die ORDER BY Klausel nutzen! So musst du überhaupt nichts updaten.
Flor1an ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Durch Elemente in Array "durchklicken" horstenpeter PHP Tipps 2008 14 14.07.2008 16:17
[Erledigt] Was haltet Ihr von dem PC? drieling Off-Topic Diskussionen 22 09.07.2008 23:24
[Erledigt] Zeile aus Texdatei löschen PEcman PHP Tipps 2008 9 09.07.2008 17:32
[Erledigt] bhb büngd de eh Wolla Off-Topic Diskussionen 6 09.07.2008 14:24
[Erledigt] WHERE read = 'no' aircrash PHP Tipps 2008 4 08.07.2008 11:23
[Erledigt] Login-Bereich, mit htaccess und php? pixelprinzessin PHP Tipps 2008 11 08.07.2008 10:12
[Erledigt] Transparente Runde Ecken bei Thumbnial realisieren tomtaz PHP Tipps 2008 3 08.07.2008 01:20
[Erledigt] Problem um mit Zitat antworten zu können! litterauspirna PHP Tipps 2008 21 07.07.2008 16:01
[Erledigt] Datumsübernahme von PHP in MySQL groovemachine PHP Tipps 2008 1 07.07.2008 10:06
[Erledigt] Textarea: Einlesen - Problem.. Softyx PHP Tipps 2008 2 05.07.2008 12:49
[Erledigt] Summieren markbraue Datenbanken 3 05.07.2008 09:44
[Erledigt] leeres Klammernpaar nach einem Ausdruck frozen fire PHP Tipps 2008 8 04.07.2008 20:13
[Erledigt] Youtube und Myvideo Icons für bb-code Editor gesucht! litterauspirna JavaScript, Ajax und mehr 4 04.07.2008 15:17
[Erledigt] preg_match_all und wiederholte Gruppierungen PHP Tipps 2006 4 19.03.2006 15:59

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
nächst größere id php mysql, datenbank suche nach nächst größerer id, sql nächst größere, nächstgrößere oder nächst größere

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum