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 28-04-2004, 18:51
Kenshix
 Newbie
Links : Onlinestatus : Kenshix ist offline
Registriert seit: Apr 2004
Beiträge: 34
Kenshix ist zur Zeit noch ein unbeschriebenes Blatt
Red face Mal eine generelle Frage zur Abfrage von Tabelleninhalten... ='(

Moin, Sportsfreunde.

Erstmal kurz, worum es mir geht, so kurz und einfach wie möglich:

Also ich hab ne Tabelle mit Inhalten, die in etwa so aussehen:

UserID (autoincrement) Name Geschlecht ...
---------------------------------------------------------------
1 Müller m ....

2 Huber m ...

3 Schneider w ...

4 Peters m ...


Alle meine DB-Abfragen beruhen im Wesentlichen auf der Abfrage der UserID. D.h., wenn ich irgendwelche Informationen einholen will über irgendeine bestimmte Person oder den Wert einer Eigenschaft (Geschlecht meinetwegen) abfragen will, bemühe ich die ID mittels mysql_fetch_row()-Funktion.

Das klappt soweit auch problemlos. ABER: Falls ich eine Zeile lösche, geht alles den Bach runter! Lösche ich z.B. Schneider, sieht das Ganze so aus:

UserID (autoincrement) Name Geschlecht ...
---------------------------------------------------------------
1 Müller m ....

2 Huber m ...

4 Peters m ...


Und jede Abfrage scheitert. Und das nur, weil eine Lücke zwischen den IDs klafft zwischen ID 2 und ID 4. Benenne ich ID 4 in 3 um, klappt wieder alles. Wie kann ich den Fehler umgehen, wenn ich einen User aus der Tabelle löschen will? Ist es wirklich notwendig, die Tabelle komplett neu aufzubauen jedes Mal, wenn ich einen User löschen will? Gibt es eine Möglichkeit, die IDs (automatisch) zu korrigieren?

Hilfe erbeten!
='(
'
'
Mit Zitat antworten
  #2 (permalink)  
Alt 28-04-2004, 18:58
oppi
 Junior Member
Links : Onlinestatus : oppi ist offline
Registriert seit: Nov 2002
Beiträge: 167
oppi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Gibt es eine Möglichkeit, die IDs (automatisch) zu korrigieren?
Grundsätzlich macht das keinen Sinn.
ich glaube eher, dass du deine abfrage so ändern solltest, dass sie auch lücken akzeptiert.
Mit Zitat antworten
  #3 (permalink)  
Alt 28-04-2004, 19:00
Seccho
 Registrierter Benutzer
Links : Onlinestatus : Seccho ist offline
Registriert seit: May 2003
Ort: kurz vor bzw. nach Zürich gleich links.. bei der brücke..
Beiträge: 544
Seccho ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Mal eine generelle Frage zur Abfrage von Tabelleninhalten... ='(

Zitat:
Original geschrieben von Kenshix
Und das nur, weil eine Lücke zwischen den IDs klafft zwischen ID 2 und ID 4. Benenne ich ID 4 in 3 um, klappt wieder alles.
Wieso soll das die DB stören wenn du UserID = 4 aufrufts, dass die 3 fehlt

Irgendwie hast Du ne komische Abfrage, nehm ich mal an...

Zeig mal deine mysql_query... und verwende mysql_fetch_object
__________________
_____________
Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!!


Geändert von Seccho (28-04-2004 um 19:12 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 28-04-2004, 19:13
Kenshix
 Newbie
Links : Onlinestatus : Kenshix ist offline
Registriert seit: Apr 2004
Beiträge: 34
Kenshix ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ganz genau das! Sieht ungefähr so aus:

PHP-Code:

$result 
mysql_query("SELECT user FROM table");

$i=0;

while(
$zeile mysql_fetch_row($result))
                {
                     
$i++;
                     
$id=mysql_query("SELECT id FROM table WHERE id = $i");
                    
                     
$ausgabe_id mysql_fetch_array($id);

  
            } 
Wie kann ich das nun so abändern, dass die Lücken umgangen werden?

Geändert von Kenshix (28-04-2004 um 19:20 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 28-04-2004, 19:28
Seccho
 Registrierter Benutzer
Links : Onlinestatus : Seccho ist offline
Registriert seit: May 2003
Ort: kurz vor bzw. nach Zürich gleich links.. bei der brücke..
Beiträge: 544
Seccho ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Etwa so ...

PHP-Code:
<?
//Alle Einträge
$abfrage=mysql_query("SELECT id FROM table");
while(
$ausgabe_id mysql_fetch_object($abfrage)) {
 echo 
$ausgabe_id->id; }
 
//Ein Eintrag 
$abfrage=mysql_query("SELECT id FROM table WHERE id = '".$_GET['id']."' LIMIT 1");
$ausgabe_id mysql_fetch_object($abfrage));
echo 
$ausgabe_id->id;
?>
Zitat:
wenn ich irgendwelche Informationen einholen will über irgendeine bestimmte Person oder den Wert einer Eigenschaft (Geschlecht meinetwegen) abfragen will, bemühe ich die ID mittels mysql_fetch_row()-Funktion
Wieso fragst Du die Anzahl user ab.. ist doch egal
__________________
_____________
Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!!


Geändert von Seccho (28-04-2004 um 19:43 Uhr)
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

WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:27 Uhr.