php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 24-03-2005, 12:04
finalcp
 Newbie
Links : Onlinestatus : finalcp ist offline
Registriert seit: Mar 2005
Beiträge: 6
finalcp ist zur Zeit noch ein unbeschriebenes Blatt
Standard Select Max() Update

Hallo! Ich hab ein Problem mit SELECT MAX()

Die Frage wurde bestimmt schon mal gestellt *ich weiss* und die Suchen-Funktion hab ich auch schon benutzt aber nichts handfestes gefunden.

Tabelle:

ID | pos | Datum | Stadt | Location | date | time

1 | 1 | 24.03 | Berlin | Salon
2 | 2 | 26.03 | Bern | Haus
3 | 3 | 29.03 | Bonn | Hall

ID: int, unsigned, auto_increment
pos: int

Jetzt möchte ich die MAX(pos) auslesen und um eins erhöhen
(bei einem neuen eintrag) um dann die Reihenfolge ändern zu können
(nicht order by sondern mit buttons=eins rauf oder eins runter):

ID | pos | Datum | Stadt | Location | date | time

1 | 3 | 29.03 | Bonn | Hall
2 | 2 | 26.03 | Bern | Haus
3 | 1 | 24.03 | Berlin | Salon


PHP-Code:
function eingabe()
{
global 
$falsch;
global 
$leer;
$conn dbconnect();
$date date("Y.m.d");
$time date("H:i:s");


if ( 
$_POST[tag]=="") {$leer[tag]=" <font class='text'>Bitte Tag eingeben!</font> ";}
elseif ( 
$_POST[stadt]=="") {$leer[stadt]=" <font class='text'>Bitte Stadt eingeben!</font> ";}

 else {
        
$query  "SELECT MAX(pos) FROM konzert WHERE ID=$id ";
        
$query  "UPDATE konzert SET pos = pos+1 WHERE ID=$id ";
        
$query  "INSERT INTO konzert(tag,stadt,ort,date,time) ";
        
$query .= " VALUES ('$_POST[tag]', '$_POST[stadt]', '$_POST[ort]', '$date', '$time') ";
        
$result mysql_query($query$conn);
        if(!
$result){echo mysql_error($conn);}


Was mache ich falsch, das hochzählen klappt nicht?
Mit Zitat antworten
  #2 (permalink)  
Alt 24-03-2005, 12:08
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

*verschieb* nach SQL

ich werf an dieser Stelle aber mal das stichwort auto_increment in den Raum. Da kannst du dir vermutlich ne Menge arbeit ersparen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 24-03-2005, 12:12
finalcp
 Newbie
Links : Onlinestatus : finalcp ist offline
Registriert seit: Mar 2005
Beiträge: 6
finalcp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also wenn die ID schon ein auto inc hat geht das wohl nicht, 2 feldern ein auto inc geben hab ich noch nicht gesehen= ich möchte das feld pos hochzählen, nicht die ID, die hat ja ein auto_inc
Mit Zitat antworten
  #4 (permalink)  
Alt 24-03-2005, 12:13
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.732
Kropff befindet sich auf einem aufstrebenden Ast
Standard

außerdem überschreibst du deinen query jedesmal, bevor er ausgeführt wird. letztendlich wird nur "INSERT INTO..." ausgeführt.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 24-03-2005, 12:13
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Mein Fehler, hatte mal wieder voreilig geantwortet.

*verschieb* zurück. du sendest die queries gar nicht ab.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6 (permalink)  
Alt 24-03-2005, 12:14
finalcp
 Newbie
Links : Onlinestatus : finalcp ist offline
Registriert seit: Mar 2005
Beiträge: 6
finalcp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das die reihenfolge nicht richtig ist , weiss ich.
aber wie ist es richtig?
Mit Zitat antworten
  #7 (permalink)  
Alt 24-03-2005, 12:16
DrNorton
 Junior Member
Links : Onlinestatus : DrNorton ist offline
Registriert seit: Jan 2005
Beiträge: 86
DrNorton ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$query  "SELECT MAX(pos) FROM konzert WHERE ID=$id ";
$query  "UPDATE konzert SET pos = pos+1 WHERE ID=$id "
... kannst du dir schenken ... weil du mit ...

PHP-Code:
$query  "INSERT INTO konzert(tag,stadt,ort,date,time) ";
$query .= " VALUES ('$_POST[tag]', '$_POST[stadt]', '$_POST[ort]', '$date', '$time') "
.... ja wieder den _kompletten_ variableninhalt überschreibst, ergo (ich liebe dieses Wort ) ... die Datenbank wird das SELECT und UPDATE niemals sehen. Davon abgesehen ... "auto_increment" heißt dein neuer Freund !


€: schon wieder zu langsam

versuchs mal mit :

INSERT INTO konzert(pos,tag,stadt,ort,date,time)
VALUES (select max(pos)+1 from konzert,'$_POST[tag]', '$_POST[stadt]', '$_POST[ort]', '$date', '$time')
__________________
Rock on, Chummers
DrNorton

Geändert von DrNorton (24-03-2005 um 12:19 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 24-03-2005, 12:27
finalcp
 Newbie
Links : Onlinestatus : finalcp ist offline
Registriert seit: Mar 2005
Beiträge: 6
finalcp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hab ich probiert:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select max(pos)+1 from konzert, 'jhg', 'jhg', '', '2005.03.24',

ausserdem sagte ich bereits das die ID schon ein auto increment hat, wie soll dann pos auch noch eins bekommen (nur ein auto inc pro table!!!)

Geändert von finalcp (24-03-2005 um 12:33 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 24-03-2005, 12:33
DrNorton
 Junior Member
Links : Onlinestatus : DrNorton ist offline
Registriert seit: Jan 2005
Beiträge: 86
DrNorton ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja ... sorry mein Fehler ... so is richtig:

INSERT INTO konzert(pos,tag,stadt,ort,date,time)
select (max(pos)+1),'$_POST[tag]', '$_POST[stadt]', '$_POST[ort]', '$date', '$time' from konzert
__________________
Rock on, Chummers
DrNorton
Mit Zitat antworten
  #10 (permalink)  
Alt 24-03-2005, 12:44
finalcp
 Newbie
Links : Onlinestatus : finalcp ist offline
Registriert seit: Mar 2005
Beiträge: 6
finalcp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

$query = "INSERT INTO konzert(pos,tag,stadt,ort,date,time) ";

$query .= " VALUES ( select(max(pos)+1), '$_POST[tag]', '$_POST[stadt]', '$_POST[ort]', '$date', '$time') ";

stimmt warsch. nicht, s gibt wieder ne fehlermeldung, hab ich s falsch interpretiert?
Mit Zitat antworten
  #11 (permalink)  
Alt 24-03-2005, 12:50
finalcp
 Newbie
Links : Onlinestatus : finalcp ist offline
Registriert seit: Mar 2005
Beiträge: 6
finalcp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mein fehler, GROSSES SORRY!!!

die $query .= " VALUES ( select(max(pos)+1), '$_POST[tag]', '$_POST[stadt]', '$_POST[ort]', '$date', '$time') ";

braucht man dann nat. nicht mehr, jetzt funktioniert's !!

danke!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

myExplorer

explorer-ähnliche Darstellung von Verzeichnisinhalten. Ideal für Downloadordner. Möglichkeit Filter zu definieren um nur bestimmte Dateien/Ordner darzustellen. Sehr leicht einzubinden.

16.07.2019 bmitt | Kategorie: PHP/ File
WebAudio Player

Dieser Music-Player demonstriert, was mit der WebAudio-API so alles möglich ist. Er ist dazu gedacht, dass ihr euren Besuchern Musik auf der eigenen Homepage anbieten könnt.

16.07.2019 numaek | Kategorie: JAVASCRIPT/ sonstig
Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
 Alle PHP Scripte anzeigen

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