Ankündigung

Einklappen
Keine Ankündigung bisher.

INSERT INTO

Einklappen

Neue Werbung 2019

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

  • INSERT INTO

    Hi zusammen,
    versuche schon seit Stunden den Insert zu machen.
    Aber irgentwie will er dies nicht tun.
    Ne frage auch.
    Kann man auch einen $row dings in eine Insert machen?

    PHP-Code:
    <?php
    include('funktion/config.php');
    include(
    'funktion/date.php');

    $gebuebay1 0.0;
    $gebuebay2 0.5;
    $verkaufebay1 0.0;
    $verkaufebay2 10/100;
    $gebupayp1 0.0;
    $gebupayp2 0.5;

    $monat=date("m");
    $jahr=date("Y");

    if(isset(
    $_POST['add'])){
    $db_preis $_POST["add_porto"];

    //Hier mal die eingegebenen Daten noch prüfen.
    //mit htmlspecialchars und dem Skript für Umlaute

    $eintrag "INSERT INTO gewinn
    (db_preis)
    VALUES
    ('
    $db_preis')";

    $eintragen mysql_query($eintrag);
    }
    ?>
    <html>
    <head>
    <title>Karte hinzuf&uuml;gen</title>
    </head>
    <table border="1" cellspacing="0" cellpadding="0" align="center" width="100%">
    <?php
    include('funktion/header.php');
    include(
    'funktion/menu.php');
    ?>
    <a href="index.php">Startseite</a>&nbsp;&rArr;&nbsp;Karte hinzuf&uuml;gen
    </td>
    </tr>
    <tr>
    <td>
    <body>
    <form id="Sprache" name="Sprache" method="POST" action="gewinn_list.php">
    <table width="25%" border="1" align="center">
        <tr align="center">
            <td><b>IMG</b></td>
            <td><b>DATUM</b></td>
            <td><b>Verkauspreis</b></td>
            <td><b>Verkaufsversand</b></td>
            <td><b>Porto</b></td>
            <td><b>Versand</b></td>
            <td><b>Ebay Gebühr</b></td>
            <td><b>Ebay Verkaufsprovision</b></td>
            <td><b>Paypal Gebühr</b></td>
            <td><b>Aktionen</b></td>
        </tr>
    <?php
    $query 
    "
    SELECT
        karte.nameid,
        karte.id                    AS kaID,
        karte.db_sell_preis            AS sell_preis,
        
        rechnung.db_sell_versand    AS versand_preis,
        
        karte_name.id
    FROM
        karte
    INNER JOIN
        karte_name
            ON
                karte.nameid = karte_name.ID
    INNER JOIN
        rechnung
    WHERE
        db_sell_preis > 0.01"
    ;
    $rs mysql_query($query) OR die("Error: ".mysql_error()."</ br> Zeile ".__LINE__);
    while(
    $row mysql_fetch_array($rs)) {
    ?>
    <tr align="center">
    <?php
    echo "<td><img class='image' src='img/karte/".$row['id'].".png' width='30' height='45' alt='-'/></td>";
    echo 
    "<td><select size=1 name=monat><option>" $monat "</option></select>
              <select size=1 name=jahr><option>" 
    $jahr "</option></select></td>";
    echo 
    "<td>" $row['sell_preis'] . "</td>";
    echo 
    "<td>" $row['versand_preis'] . "</td>";
    ?>
    <td><?php $query "SELECT * FROM porto ORDER BY preis"$resultat mysql_query($query) or die ("Konnte Abfrage nicht ausführen."); ?>
    <select name="add_porto"> <?php while($zeile mysql_fetch_assoc($resultat)) { extract($zeile); echo "<option name='add_porto' value='".$preis."'>$preis €</option>\n"; } ?></select></td>
    <td><?php $query "SELECT * FROM versand ORDER BY preis"$resultat mysql_query($query) or die ("Konnte Abfrage nicht ausführen."); ?>
    <select name="add_versand"> <?php while($zeile mysql_fetch_assoc($resultat)) { extract($zeile); echo "<option name='add_rarity' value='".$preis."'>$preis €</option>\n"; } ?></select></td>
    <?php
    echo "<td><select size='1'>
            <option name='add_gebuebay' value='"
    .$gebuebay1."'>$gebuebay1</option>
            <option name='add_gebuebay' value='"
    .$gebuebay2."'>$gebuebay2</option>
        </select></td>"
    ;
    echo 
    "<td><select size='1'>
            <option name='add_verkaufebay' value='"
    .$verkaufebay1."'>$verkaufebay1</option>
            <option name='add_verkaufebay' value='"
    .$verkaufebay2."'>$verkaufebay2</option>
        </select></td>"
    ;
    echo 
    "<td><select size='1'>
            <option name='add_gebupayp' value='"
    .$gebupayp1."'>$gebupayp1</option>
            <option name='add_gebupayp' value='"
    .$gebupayp2."'>$gebupayp2</option>
        </select></td>"
    ;
    // echo "<td>" . ($row['sell_preis'] + $row['versand_preis']) . "</td>";
    echo "<td><input type='submit' name='add' id='button' value='Speichern' /></td>";
    }
    ?>
    </tr>
    <?php
    if(isset($_POST['add'])){
    if(
    $eintragen == true) {
    echo 
    "<tr><td colspan='7' align='center'><font color='#green'>Die Karte wurde eingetragen</font></td></tr>";
    } else {
    echo 
    "<tr><td colspan='7' align='center'><font color='#red'>Fehler im System. Konnte nicht abgespeichert werden</font></td></tr>";
    }
    }
    ?>
    </table>
    </form>
    </body>
    </td>
    </tr>
    <?php
    include('funktion/footer.php');
    ?>
    </table>
    </html>

  • #2
    Siehe http://php-de.github.io/jumpto/leitfaden/

    Kommentar


    • #3
      MySQLi oder PDO zu verwenden wurde Dir glaube ich schon öfter nahegelegt, soweit ich mich erinnere...

      Kommentar


      • #4
        EVA-Prinzip auch, so beratungresistent muss man erstmal sein.

        Kommentar


        • #5
          Und das SELECT * schlechter Stil ist ... http://php-de.github.io/jumpto/code-smells/#select-all

          ... und das man <font> seit 15 Jahren nicht mehr verwendet...

          Und ... ü oder nicht ü .. das ist hier die Frage

          HTML-Code:
          <title>Karte hinzuf&uuml;gen</title>
          ...
          HTML-Code:
           <td><b>Paypal Gebühr</b></td>

          Kommentar


          • #6
            Aber irgentwie will er dies nicht tun.
            http://php.net/manual/de/function.mysql-error.php
            Sieh dir mal an, ob die Datenbank dir einen Fehler zurück gibt.

            Kann man auch einen $row dings in eine Insert machen?
            Ist jetzt ja ziemlich vage gefragt..
            https://dev.mysql.com/doc/refman/5.5...rt-select.html Damit kannst du einen Select als Datenquelle für den Insert nutzen.

            Kommentar


            • #7
              Also ich hab mir den Code genauer angesehen und er trägt was ein.
              Aber nicht was ich ausgewählt habe.
              Es trägt immer die ID 8 ein.
              Egal ob ich bei Valuve id oder preis angebe.
              Es steht immer 8 oder 0 drin

              Kommentar


              • #8
                Dann mach das: http://php-de.github.io/jumpto/sql/#...query-ausgeben und finde heraus woher die Werte kommen. zB POST ausgeben lassen etc.. etc. Wie schon bereits in #2 erwähnt.

                Kommentar


                • #9
                  mal was anders.
                  Wenn ich unter den INSER INTO ein Update setzen muss.
                  wie muss das aussehen.
                  Ich hab das zuletzt so gehabt.
                  Aber es half nix

                  PHP-Code:
                  if(isset($_POST['add'])){
                  $db_porto $_POST["add_porto"];
                  $db_versand $_POST["add_versand"];
                  $db_gebuebay $_POST["add_gebuebay"];
                  $db_gebupayp $_POST["add_gebupayp"];
                  $db_verkaufebay $_POST["add_verkaufebay"];
                  $db_datum_monat $_POST["dateMo"];
                  $db_datum_jahr $_POST["datumJr"];

                  //Hier mal die eingegebenen Daten noch prüfen.
                  //mit htmlspecialchars und dem Skript für Umlaute

                  $eintrag "INSERT INTO gewinn
                  (db_next,db_porto,db_versand,db_gebuebay,db_gebupayp,db_verkaufebay,db_datum_monat,db_datum_jahr)
                  VALUES
                  ('
                  $db_next','$db_porto','$db_versand','$db_gebuebay','$db_gebupayp','$db_verkaufebay','$db_datum_monat','$db_datum_jahr')";

                  $eintragen mysql_query($eintrag);

                  $strSQL "
                  UPDATE
                      `gewinn`
                  SET
                      `db_next` = db_next + 1 "
                  ;
                  $eintragen mysql_query($eintrag);
                  }
                  ?> 

                  Kommentar


                  • #10
                    Was möchtest du denn machen?
                    Falls ich keinen Fehler übersehe, sollte dein Update das Feld db_next von jedem Datensatz in der Tabelle um 1 erhöhen.
                    Aber es half nix
                    ... muss wirklich jedes mal darauf hingewiesen werde, dass so eine Fehlerbeschreibung total fürn Arsch ist?

                    Kommentar


                    • #11
                      Ja genau
                      er soll halt als erstes die werte eintragen mit INSERT und dann mit UPDATE die Spalte um 1 erhöhen

                      Kommentar


                      • #12
                        Zitat von VPh Beitrag anzeigen
                        http://php.net/manual/de/function.mysql-error.php
                        Sieh dir mal an, ob die Datenbank dir einen Fehler zurück gibt.

                        Kommentar


                        • #13
                          ok hab den error teil eingebaut
                          PHP-Code:
                          mysql_query($eintrag) OR die("Error: ".mysql_error()."</ br> Zeile ".__LINE__); 
                          Aber er zeigt mir kein Fehler an

                          Kommentar


                          • #14
                            Ja dann such weiter nach dem Grund.. die weitern Schritte zähle ich hier nicht erneut auf solltest du ja nun kennen - wurden oben ja alle schon verlinkt.

                            Kommentar


                            • #15
                              Zitat von Germanikus Beitrag anzeigen
                              ...
                              $eintrag = "INSERT INTO gewinn
                              (db_next,db_porto,db_versand,db_gebuebay,db_gebupa yp,db_verkaufebay,db_datum_monat,db_datum_jahr)
                              VALUES
                              ('$db_next','$db_porto','$db_versand','$db_gebueba y','$db_gebupayp','$db_verkaufebay','$db_datum_mon at','$db_datum_jahr')";

                              $eintragen = mysql_query($eintrag);

                              $strSQL = "
                              UPDATE
                              `gewinn`
                              SET
                              `db_next` = db_next + 1 ";
                              $eintragen = mysql_query($eintrag);
                              }
                              ?>[/PHP]
                              Fehler:
                              Das Update-Query wird nicht ausgeführt, da du mit mysql_query() wieder das erste Query ausführen willst statt dem Update-Query. Richtig müsste es so lauten:
                              PHP-Code:
                              $eintragen mysql_query($strSQL); 
                              Sieht übrigens ein Blinder

                              Kommentar

                              Lädt...
                              X