Artikel

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Artikel

    Mit folgendem Befehl möchte ich einen Artikel hinzufügen:

    PHP Code:
    mysql_query("INSERT INTO $tab_art (catid, titel, artikel, time) VALUES ('$cat_id', '$titel', '$artikel', '$zeit')");

    echo 
    "\$cat_id = $cat_id"
    Hierbei gebe ich zum Check noch die ID der Kategorie des Artikel an. Und hier liegt auch mein Problem, $catid aber nicht ausgegeben. Der Code vor dem lautet wie folgt:

    PHP Code:
    $types mysql_query("SELECT * FROM $tab_artcat ORDER BY name");

    echo 
    "<select name='catid'>";
    while (
    $cat mysql_fetch_array($types)) { 

    $cat_id "$cat[id]";
    echo 
    "<option>$cat[name]</option>"



  • #2
    ich würd ein $types = mysql_query("SELECT * FROM $tab_artcat ORDER BY name") or die(mysql_error()); versuchen

    Comment


    • #3
      Keine Fehler...

      Comment


      • #4
        dann würd ich das mal versuchen:
        PHP Code:
        $cat_id "$cat[id]";
        //wird zu:
        $cat_id $cat['id']; 

        Comment


        • #5
          Geht leider nicht.

          Comment


          • #6
            und das?:
            PHP Code:
            echo '<option>'.$cat['name'].'</option>'
            Hast du es eingestellt das du alle Fehlermeldungen angezeigt bekommst?
            mach die abfrage mal im PHP-myadmin und guck was er dir ausgibt und ob das auch alles richtig ist

            Comment


            • #7
              Das funktioniert auch nicht. Und Fehler gibt es auch nicht, irgendwie wird nur die Variable $cat_id nicht definiert.

              Ich möchte mal den Aufbau meines Codes zeigen, vielleicht hilft das ja weiter.

              PHP Code:
              elseif ($_GET['action']=='admin' and $_GET['article']=='add') {

              if (
              $add) {

              // Angabencheck

              if ($titel == "") { echo "Titel fehlt."; }

              elseif (
              $artikel == "") { echo "Artikel fehlt."; }

              else {

              // Wenn es keine Fehler und alle Angaben gibt:

                  
              $zeit=time();

                  
              mysql_query("INSERT INTO $tab_art (catid, titel, artikel, time) VALUES ('$cat_id', '$titel', '$artikel', '$zeit')");
                           
                  echo 
              "Artikel erstellt. \$cat_id = $cat_id"; }

              } else { 

              // Hier ist nun die Standardanzeige:

              echo     "<table width='100%' border='0' cellpadding='3' cellspacing='1'>
                    <form action='?action=admin&article=add' method='post'>
                  <tr bgcolor='
              $tcolor2'><td>Type:</td><td>";

              $types mysql_query("SELECT * FROM $tab_artcat ORDER BY name");

              echo    
              "<select name='catid'>";
              while (
              $cat mysql_fetch_array($types)) { 

              $cat_id "$cat[id]";
              echo 
              "<option>$cat[name]</option>"

              }
              echo  
              "</select>";

              echo    
              "</td></tr>

                  <tr bgcolor='
              $tcolor3'><td>Title:</td><td><input type='titel' size='30' name='titel'></td></tr>
                  <tr bgcolor='
              $tcolor2'><td>Article:</td><td><textarea name='artikel' cols='30' rows='6'></textarea></td></tr>

                    <tr><td></td><td><input name='add' type='submit' value='add article'></tr></td>
                  </form>
                  </table>"
              ; } 

              Comment


              • #8
                mach mal vor der while schleife testweise ein
                PHP Code:
                if(empty($cat['id'])) echo '$cat[\\\'id\\\'] ist leer'
                EDIT:
                er soll mir die \\'s anzeigen

                Comment


                • #9
                  Naja vor der while Schleife ist $cat[id] ja noch leer und ich wüsste nicht was das vor der Schleife bewirken sollte. Ich bräuchte eine Möglichkeit die $cat[id] in den <select>-tag einzubinden, damit die id bezüglich den namen ausgelesen wird, starte ich aber die while schleife vor dem Select werden pro Kategorie die gefunden wird ein Select-Tag erstellt.

                  Comment


                  • #10
                    wo soll das catid hin? in den select tag, oder in den option-tag?

                    Comment


                    • #11
                      in den select tag

                      Comment


                      • #12
                        Dann hast du es also anscheinend immer noch nicht begriffen... (mach mir langsam echt gedanken)

                        pass auf

                        1. tag mit var
                        2. definition der var

                        wie willst du also (wiedermal) eine variable benutzen, die erst später definiert wird?!?!?!

                        also machs wie du es beim letzten mal gelöst hast...

                        Comment


                        • #13
                          Ja, aber es wird doch standardgemäß logischer Weise immer der Code der am Ende Steht, also:

                          PHP Code:
                          } else { 

                          // Hier ist nun die Standardanzeige:

                          echo     "<table width='100%' border='0' cellpadding='3' cellspacing='1'>
                                <form action='?action=admin&article=add' method='post'>
                              <tr bgcolor='
                          $tcolor2'><td>Type:</td><td>";

                          $types mysql_query("SELECT * FROM $tab_artcat ORDER BY name");

                          echo    
                          "<select name='catid'>";
                          while (
                          $cat mysql_fetch_array($types)) { 

                          $cat_id "$cat[id]";
                          echo 
                          "<option>$cat[name]</option>"

                          }
                          echo  
                          "</select>";

                          echo    
                          "</td></tr>

                              <tr bgcolor='
                          $tcolor3'><td>Title:</td><td><input type='titel' size='30' name='titel'></td></tr>
                              <tr bgcolor='
                          $tcolor2'><td>Article:</td><td><textarea name='artikel' cols='30' rows='6'></textarea></td></tr>

                                <tr><td></td><td><input name='add' type='submit' value='add article'></tr></td>
                              </form>
                              </table>"
                          ; } 
                          angezeigt und hier werden die Variablen ja auch definiert. Wenn man nun auf das input "add" klickt wird alles neugelesen oder wie ?

                          Comment


                          • #14
                            ich versteh dich nicht...

                            Comment


                            • #15
                              Die beim allerersten Mal, beim Aufrufen der Seite, ja die ersten If's im Code nicht der Fall sein kann, da man noch nicht auf das Input geklickt hat, kommt doch der Code der am Schluss steht, wobei doch die Variablen definiert werden, richtig ?

                              Wenn man nun auf Input "add" klickt wird da die Datei neu gelesen ?

                              Comment

                              Working...
                              X