Mal eine generelle Frage zur Abfrage von Tabelleninhalten... ='(

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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!
    ='(
    '
    '

  • #2
    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.

    Kommentar


    • #3
      Re: Mal eine generelle Frage zur Abfrage von Tabelleninhalten... ='(

      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
      Zuletzt geändert von Seccho; 28.04.2004, 19:12.
      _____________
      Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
      [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

      Kommentar


      • #4
        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?
        Zuletzt geändert von Kenshix; 28.04.2004, 19:20.

        Kommentar


        • #5
          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;
          ?>
          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
          Zuletzt geändert von Seccho; 28.04.2004, 19:43.
          _____________
          Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
          [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

          Kommentar

          Lädt...
          X