ID Problem!

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

  • ID Problem!

    Hi! Also ich habe mich im Forum umgeschaut und nichts gefunden und deshalb jetzt meine frage. Ich habe ein Problem und hoffe mir kann jemand helfen. Ich habe ein kleines mysql basiertes script geschrieben in den ich daten eingebe die in meine Datenbank geschrieben werden. Diese Daten kann man nachträglich auch wieder über die ID die sie besitzen wieder löschen. Und genau hier liegt das Problem: Daten einfügen und wieder löschen funktioniert problemlos genauso wie das automatische erstellen der ID die über "auto_increment" automatisch um eins höher gesetzt wird bei jedem neuen Datensatz. Wenn ich jetzt 15 einträge habe habe ich 15 ID`s von 1-5 doch wenn ich jetzt alle wieder lösche und einen neuen Datensatz einfüge Hat der dann die ID 16(?) obwohls der "erste" Eintrag ist. Ich will das wenn ìch einen Datensatz lösche auch die ID gelöscht wird und wenn ich eine leere Datenbank habe es auch keine ID gibt und er wieder bei 1 beginnt. Wo liegt das Problem? Würde mich um Hilfe freuen.

    MFG Andy

    EDIT: Sorry falsches Forum ist mir grad aufgefallen.
    Zuletzt geändert von AndyR; 06.08.2003, 20:24.

  • #2
    dann ist "auto_increment" nicht das was du brauchst!

    deaktiviere diese funktion!

    du mußt dann die id's selber vergeben.
    das bedeutet aber nun muß jedes mal bevor ein datensatz erstellt werden kann ein zusätzliches query abfragen muß wie viele datensätze in deiner tabelle existieren.

    dafür kannst du den SQL befehl count( feld) benutzen

    jetzt meine frage ?
    warum ist es schlimm wenn die id's nicht einzigartig sind ?

    Kommentar


    • #3
      Original geschrieben von bo2k
      warum ist es schlimm wenn die id's nicht einzigartig sind ?
      weil er wahrscheinlich etwas gästebuchähnliches gemacht hat und die id als beitragsnummer missbraucht

      der primärschlüssel einer tabelle sollte bei sowas keine inhaltliche bedeutung haben

      du kannst für sowas auch nen zähler bei der ausgabe mitlaufen lassen
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        genau deswegen wollte ich das wissen

        Kommentar


        • #5
          Ne daran liegts nicht. Das ist mein erstes script und ich will bei einer leeren Datenbank angezeigt bekommen das noch keine eintraege vorhanden sind. Also mit "if". Wen keine Id vorhanden ist dann zeige mir an das "Noch keine eintraege vorhanden". Und fuer mich als Newbie ist die einzige möglichkeit das auszugeben wenn es noch keine ID gibt und mein jetziges Problem ist das über auto_increment immer ne id da ist. verstanden was ich meine?? Hoffe doch ;-)

          Kommentar


          • #6
            les doch einfach ALLES in der tabelle in ein array (also alle ids) wenn das arraycount 0 zurück gibt is die db warscheinlich leer

            denke mal so sollte es für dich gehn...
            Man lernt nie aus...

            ...und wenn man's doch tut braucht man sich auch nicht schämen!

            Kommentar


            • #7
              Danke fuer den tipp.
              Hab aber noch ne frage. Hab das MANUAL durchstöbert doch nichts gefunden. In diesem Code zb. ....
              if ($test == "")
              {
              echo "Nichts vorhanden";
              }
              else
              ....
              will ich sagen das wenn die variable $test=leer ist er den Text ausgeben soll. Hab mal irgendwo gelesen das man das durch zwei "" bestimmt. 2 Gänsefüßchen bedeutet LEER. Aber das funktioniert nicht. Wieso? Oder ist das gar nicht wahr und das wird anders bestimmt?? MFG Andy
              Zuletzt geändert von AndyR; 06.08.2003, 22:34.

              Kommentar


              • #8
                hm ging ma das hat aber nix mit den gänsefüsschen zu tun sondern damit sagst du halt normal

                PHP-Code:
                if ($test "bla"
                und wenn du halt bla weg lässt, dann währ das leer logischerweise... aber das geht glaubich nimmer... nimmst du einfach
                PHP-Code:
                if(empty($test)) { } 
                Man lernt nie aus...

                ...und wenn man's doch tut braucht man sich auch nicht schämen!

                Kommentar


                • #9
                  Ok habs probiert aber wieso funktioniert das so nicht?
                  .....
                  $read = mysql_query($lesen);
                  while ($row = mysql_fetch_object($read))
                  {
                  if (empty($row->name))
                  {
                  echo "Es sind noch keine Eintraege vorhanden!";
                  }
                  else
                  ....

                  Der zeigt mir nur den Text an wenn was in der Datenbank aber ich wills ja umgekehrt.

                  ????

                  Mfg

                  Kommentar


                  • #10
                    Original geschrieben von AndyR
                    Ok habs probiert aber wieso funktioniert das so nicht?
                    .....
                    $read = mysql_query($lesen);
                    while ($row = mysql_fetch_object($read))
                    Du willst ja schomal kein object sondern ein array! darum _fetch_array!

                    {
                    if (empty($row->name))
                    {
                    echo "Es sind noch keine Eintraege vorhanden!";
                    }
                    else
                    das wollen wir ja au net da wir ja nur ne ausgabe wollen wenn nix drin is, also das array leer is! darum:

                    PHP-Code:
                    $array mysql_fetch_array($read);
                    if(
                    count($array) = '0') {
                         echo 
                    'nix da!';

                    EDIT:
                    müsste man etz proben ob das array bei ner leeren db au wirklich leer is! oder ob es überhaupt ein array is! wenns kein array is, dann kommt bei count 1 raus! ich hoff meins geht, aufjedenfalls währs so logisch
                    Zuletzt geändert von BloodReaver; 06.08.2003, 22:51.
                    Man lernt nie aus...

                    ...und wenn man's doch tut braucht man sich auch nicht schämen!

                    Kommentar


                    • #11
                      PHP-Code:
                      $read=mysql_query($lesen);
                      $anzahl=mysql_num_rows($read);
                      echo 
                      'Anzahl Einträge: '.$anzahl
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar

                      Lädt...
                      X