Was ist hier falsch?

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

  • asp2php
    antwortet
    geht auch, aber das ja sowas von unsauber!

    Einen Kommentar schreiben:


  • derHund
    antwortet
    - Insert braucht eine Liste von Spaltenangabe um die Werte in Values zuzuordnen
    nicht wirklich.

    Code:
    INSERT INTO tab VALUES ('', '', '', ..);
    sollte bei passender spaltenzahl funktionieren. jedoch mußt du halt immer alle werte angeben.

    Einen Kommentar schreiben:


  • marc75
    antwortet
    PHP-Code:
    if(isset($_POST['verkauf_id']) > && isset($_POST['product_sku']) > 0  usw.

    // wozu hast du dir hier das > 0 gedacht
    //isset gibt true und false zurück 
    http://de.php.net/manual/de/function.isset.php

    um if bedingungen zu prüfen lohnt sich auch eine echo ausgabe in den Bereichen


    PHP-Code:
    INSERT INTO tabelle (spalte1,spalte2VALUES(wert1,wert2); 
    http://www.mysql.de/doc/de/HANDLER.html

    PHP-Code:
    @mysql_query
    //das @ verhindert die Fehlerausgabe, ist schlecht um ein Fehler zu finden 
    auch zu empfehlen, am besten immer verwenden
    http://de.php.net/manual/de/function.mysql-error.php

    um zu prüfen welche variablen ankommen:
    PHP-Code:
     print_r($_POST); 
    oder 
    print_r
    ($_GET); 

    auch schön für später
    http://de.php.net/manual/de/function...ape-string.php

    Einen Kommentar schreiben:


  • asp2php
    antwortet
    - das mit isset hat icon dir schon gesagt
    - Insert braucht eine Liste von Spaltenangabe um die Werte in Values zuzuordnen
    - alles was zwischen ' liegt interpretiert SQL als string-konstante
    - wenn du $sql = mysql_query(...) or die(mysql_error()); machst, bekommst
    du auch die Fehler angezeigt und tappst auch nicht im Dunkel

    Einen Kommentar schreiben:


  • haloki
    antwortet
    @asp2php

    Danke für die Empfehlung aber ich konnte nicht mit den Hilfeseiten weiter kommen und deswegen habe ich euch gefragt. Es waere natürlich sehr nett, dass du mir dein Wissen zeigen und den Fehler herausfinden würdest.
    Natürlich wenn du dafür Zeit hast.

    mfg

    Einen Kommentar schreiben:


  • icon
    antwortet
    befolgen sie bitte seinem rat und machen sie sich die mühe einmal alles genau durchzulesen..!

    falls es dann noch fragen gibt sind wir natürlich gerne berreit ihnen zu helfen..



    lg, harry d.

    Einen Kommentar schreiben:


  • haloki
    antwortet
    Sollte ich stattdessen strlen benutzen?

    Eigentlich laeuft das erste Teil des Skriptes ganz gut. Ich habe mit dem zweiten Teil Probleme. Die Daten werden in die erste Tabelle eingetragen. Aber die Spallte von der zweiten Tabell wird nicht geupdated.

    mit strlen habe ich es auch probbiert. Das ging leider überhaubt nicht.

    Danke für deine Antwort

    mfg

    Einen Kommentar schreiben:


  • asp2php
    antwortet
    wir duzen uns alle hier, also da brauchen Sie nicht förmlich zu sein

    Deine SQL-Command sind falsch, schau mal in Manual nach:
    - wie INSERT aufgebaut ist
    - wie Spaltennamen angesprochen wird
    - wie versch. Datentypen übergeben wird
    ausserdem in PHP
    - Funktionsrückgabewert beachten
    - Fehlerabfang bei DB-Abfragen
    usw. schau besser mal bei schattenbaum vorbei, Link in meiner Signatur.

    Einen Kommentar schreiben:


  • icon
    antwortet
    hi


    if(isset($_POST['verkauf_id']) > 0 && isset($_POST['product_sku']) > 0 && isset($_POST['kaeufer']) > 0 && isset($_POST['datum']) > 0 && isset($_POST['invoice_no']) > 0 && isset($_POST['quantity']) > 0){
    isset() liefert meines wissens true or false zurück..



    lg, harry d.

    Einen Kommentar schreiben:


  • haloki
    hat ein Thema erstellt Was ist hier falsch?.

    Was ist hier falsch?

    Hallo,
    es waere sehr nett, wenn sie mal das Skript ansehen könnten. Ich weiss nicht, wo der Fehler steckt.

    Die erste Tabelle [COLOR=darkblue]''product_sales''[/COLOR]

    __________________________________________________________
    | verkauf_id | product_sku | kaeufer | datum | invoice_no | quantity |
    ---------------------------------------------------------------------

    Die zweite Tabelle [COLOR=darkblue]''products''[/COLOR]

    ___________________________________________________________
    | products_id | products_model | products_quantity | products_preis |
    ----------------------------------------------------------------------

    mit dem folgenden Skript möchte ich in der ersten Tabelle die ganze Inhalt als eine neue Zeile hinzufügen und in der zweiten Tabelle sollte nur die Spallte [COLOR=red]''products_quantity''[/COLOR] mit der Anzahl(quantity) in der Formular summiert werden. Ich hoffe Sie verstehen, was ich meine.


    PHP-Code:
    <html> 
    <head> 
    <title></title> 
    </body> 
    <form name="LagerBestand" action="<?php $_SERVER["PHP_SELF"?>" method="post"> 
    <?php
    $host 
    "localhost"// Datenbanlhost 
    $user "haloki"// Datenbank Username 
    $pass ""// Datenbank Userpasswort 
    $datenb "zencart"// Datenbankname 
    $tabname "product_sales"// Name der Datenbanktabelle 
    $tabname2 "products"// Name der Datenbanktabelle die upgedatet werden soll 
    $tabname2_spalte "products_quantity"// Spalt die in der Tabelle geupdatet werden soll 
    //strlen di eski hali
    if(isset($_POST['verkauf_id']) > && isset($_POST['product_sku']) > && isset($_POST['kaeufer']) > && isset($_POST['datum']) > && isset($_POST['invoice_no']) > && isset($_POST['quantity']) > 0){ 
    $server = @mysql_connect($host,$user,$pass); 
    $db mysql_select_db($datenb); 
    $sql mysql_query("INSERT INTO $tabname VALUES('".$_POST['verkauf_id']."','".$_POST['product_sku']."','".$_POST['kaeufer']."','".$_POST['datum']."','".$_POST['invoice_no']."','".$_POST['quantity']."')"); 
    if(
    $sql){ 
    echo 
    "<p>Eintrag wurde in die Datenbank geschrieben.</p>"
    $sql_update = @mysql_query("UPDATE '$tabname2' SET '$tabname2_spalte' = '$tabname2_spalte' + '".$_POST['quantity']."' WHERE 'products_model'='".$_POST['product_sku']."'");
    if(
    $sql_update) echo "<p>Anzahl wurde aktualisiert.</p><a href=\"javascript:history.back(-1);\">Zur&uuml;ck</a>"
    else echo 
    "<p><b>Fehler:</b> Anzahl konnte nicht aktualisiert werden.</p><a href=\"javascript:history.back(-1);\">Zur&uuml;ck</a>"

    else echo 
    "<p><b>Fehler:</b> Eintrag konnte nicht in die Datenbank geschrieben werden.</p><a href=\"javascript:history.back(-1);\">Zur&uuml;ck</a>"
    @
    mysql_close($server); 

    else{ 
    echo 
    "<p>Bitte alle Felder ausf&uuml;llen.</p>"
    ?>
    <table cellspacing="2" cellpadding="1"> 
    <tr> 
    <td>Ürün Ciktisi</td> 
    </tr> 
    <tr> 
    <td><input type="hidden" name="verkauf_id"></td> 
    </tr> 
    <tr> 
    <td>Ürün Kodu</td> 
    </tr> 
    <tr> 
    <td><input type="text" name="product_sku"></td> 
    </tr> 
    <tr> 
    <td>Firma</td> 
    </tr> 
    <tr> 
    <td><input type="text" name="kaeufer"></td> 
    </tr> 
    <tr> 
    <td>Tarih</td> 
    </tr> 
    <tr> 
    <td><input type="text" name="datum"></td> 
    </tr> 
    <tr> 
    <td>Fatura No</td> 
    </tr> 
    <tr> 
    <td><input type="text" name="invoice_no"></td> 
    </tr> 
    <tr> 
    <td>Adet</td> 
    </tr> 
    <tr> 
    <td><input type="text" name="quantity"></td> 
    </tr> 
    <tr> 
    <td><input type="submit" value="eintragen"></td> 
    </tr> 
    </table> 
    </form> 
    <?php 

    ?> 
    </body> 
    </html>
    Zuletzt geändert von haloki; 23.04.2004, 11:12.
Lädt...
X