Linkkategorien verschieben/updaten

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

  • Linkkategorien verschieben/updaten

    Hi,

    nach dem mir gestern jaschon so super geholfen wurde, bräuchte ich nochmals euere Hilfe. Ich habe mein Script nun erweitern wollen und die Links in Kategorien sortiert. Dazu habe ich in meiner Spalte links ein weiteres Feld kat_id angelegt und dann zusätzlich noch eine neue Spalte namens links_kat ind der ich die Kategorien speichere nach id, kat (steht für den Kategorienamen).

    Nun will ich das man bei einem Neueintrag die Kategorie auswählt und diese id muss dann ja in der Spalte links im Feld kat_id eingetragen werden. Beim neueintrag funktioniert die einwandfrei und beim ändern der einträge hab ich nun Problem mit dem ändern der Kategorie.

    Hier meine Datei um einen Eintrag zu ändern hier habe ich jetzt am ende ein Drop-Down Feld eingefügt in dem ich dei gewünschte Kategorie auswähle. Die Kategorienamensauslese aus der Datenbank funktioniert einwandfrei:

    PHP-Code:
    <?

        $abfrage = "select * from links where";
        $abfrage .= " id = '$update' LIMIT 1";

        $ergebnis = mysql_query($abfrage) or die (mysql_error());
        $row = mysql_fetch_assoc($ergebnis) or die(mysql_error());
    ?>

    <p>Bitte Daten eingeben:</p>

    <table border="0"><form action="update.php?<?php echo session_name().'='.session_id(); ?>" method="post">
        <tr>
            <td>Hompage:</td>
            <td><input type="text" size="20" name="urlname" value="<? echo $row['urlname'] ?>"><td>
        </tr>
        <tr>
            <td>URL:</td>
            <td><input type="text" size="20" name="url" value="<? echo $row['url'] ?>"></td>
        </tr>
        <tr>
            <td>Beschreibung:</td>
            <td><textarea name="beschreibung" rows="3" cols="60"><? echo $row['beschreibung'] ?></textarea></td>
        </tr>
    <tr>
            <td>Name:</td>
            <td><input type="text" size="20" name="name" value="<? echo $row['name'] ?>"><td>
        </tr>
        <tr>
        <td height="89"> <div align="right"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Linkkategorie:</font></strong></div></td>
          <td>&nbsp;</td>
         <td>
    <select name="kateintrag" value="kateintrag">
    <?

    $auslesen = "SELECT * FROM links_kat";
    $ergebnise = mysql_query($auslesen) or die(mysql_error());
      while($ausgaben = mysql_fetch_array($ergebnise)){
    echo "<option value='".$ausgaben[id]."'>$ausgaben[kat]</option>";
    }
    ?>
    </select>
      </td>
       </tr>
        <tr>
            <td></td>
            <td><input type="hidden" size="10" name="id" value="<? echo $row['id'] ?>"><td>
        </tr>
    <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
        </tr>

        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="eintrag" value="Abschicken"> <input
            type="reset" name="loeschen" value="Löschen"></td>
        </tr></form>
    </table>
    Nur sollte das ganze dann an die update.php weitergeleitet werden wo dann die Daten in die DB eingetragen werden und die Datei sieht so aus:

    PHP-Code:
    <?
      $aendern = "UPDATE
                    links
                SET
                    urlname = '".$urlname."',
                    url = '".$url."',
                    beschreibung = '".$beschreibung."',
                    name = '".$name."',
                    kateintrag = '".$kat_id."'
                WHERE
                    id = '".$_POST['id']."'";

    $update = mysql_query($aendern) or die(mysql_error()) ?>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>Update:</em></font></strong></div></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ihr Eintrag wurde wie
          folgt ge&auml;ndert:</font></td>
      </tr>
      <tr>
        <td><div align="left"></div></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><div align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Homepage:</font></strong></div></td>
        <td><? echo $urlname ?></td>
      </tr>
      <tr>
        <td><div align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">URL:</font></strong></div></td>
        <td><? echo $url ?></td>
      </tr>
      <tr>
        <td><div align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Beschreibung:</font></strong></div></td>
        <td><? echo $beschreibung ?></td>
      </tr>
      <tr>
        <td><div align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Autor:</font></strong></div></td>
        <td><? echo $name ?></td>
      </tr>
      <tr>
        <td><div align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kategorie:</font></strong></div></td>
        <td><? echo $kat_id ?></td>
      </tr>
    </table>
    Als Fehler bekomme ich jetzt das:

    PHP-Code:
    Unknown column 'kateintrag' in 'field list' 
    Danke schon einmal für euere Bemühung mit mir

  • #2
    du hast spalten angelegt, die kat_id oder links_kat heissen.

    aber verwenden willst du kateintrag . das sollte dir auch klar sein, das mysql das nicht gefällt ...

    daher auch die meldung. die spalte jibbit net.



    ausserdem solltest du auch $_POST['kat_id'] statt nur $kat_id verwenden.

    PHP-Code:
     $query ".... links_kat = '".$_POST['kat_id']."' ...."
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Danke ehrlich gesagt habe ich dein Text nur halbwegs verstanden vorallem dein Beispiel net aber das hat gelangt um meinen Fehler zu ändern nu gehts

      Kommentar


      • #4
        Muß ich doch noch eine Frage nachschieben zur Kategorie Sortierung und Verbesserung .

        Wie kann ich es machen das mir beim ändern in dem Drop Down Feld immer die aktuelle (also die Kategorie der dieser Link gerade zugeordnet ist) ganz oben steht also zu erst sicht bar ist ? Das geht doch über nee if Anweisung oder ?

        das ist das Stück das die Drop Down Box erzeugt:

        PHP-Code:
        <?

        $auslesen = "SELECT * FROM links_kat";
        $ergebnise = mysql_query($auslesen) or die(mysql_error());
          while($ausgaben = mysql_fetch_array($ergebnise)){
        echo "<option value='".$ausgaben[id]."'>$ausgaben[kat]</option>";
        }
        ?>

        Kommentar


        • #5
          PHP-Code:
          while($ausgaben mysql_fetch_array($ergebnise))
          {
            echo 
          '<option value="'.$ausgaben['id'].'"';
            if (
          $ausgaben['id']==$dievariableinderideaktuelleidsteht)
              echo 
          ' selected="selected"';
            echo 
          '>'.$ausgaben['kat'].'</option>';

          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Danke auch dir hat perfekt geklappt.

            Kommentar

            Lädt...
            X