Was ist hier falsch?
Einklappen
X
-
- Insert braucht eine Liste von Spaltenangabe um die Werte in Values zuzuordnen
Code:INSERT INTO tab VALUES ('', '', '', ..);
Einen Kommentar schreiben:
-
PHP-Code:if(isset($_POST['verkauf_id']) > 0 && isset($_POST['product_sku']) > 0 usw.
// wozu hast du dir hier das > 0 gedacht
//isset gibt true und false zurück
um if bedingungen zu prüfen lohnt sich auch eine echo ausgabe in den Bereichen
PHP-Code:INSERT INTO tabelle (spalte1,spalte2) VALUES(wert1,wert2);
PHP-Code:@mysql_query
//das @ verhindert die Fehlerausgabe, ist schlecht um ein Fehler zu finden
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:
-
- 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:
-
@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:
-
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:
-
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:
-
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:
-
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){
lg, harry d.
Einen Kommentar schreiben:
-
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']) > 0 && isset($_POST['product_sku']) > 0 && isset($_POST['kaeufer']) > 0 && isset($_POST['datum']) > 0 && isset($_POST['invoice_no']) > 0 && 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ück</a>";
else echo "<p><b>Fehler:</b> Anzahl konnte nicht aktualisiert werden.</p><a href=\"javascript:history.back(-1);\">Zurück</a>";
}
else echo "<p><b>Fehler:</b> Eintrag konnte nicht in die Datenbank geschrieben werden.</p><a href=\"javascript:history.back(-1);\">Zurück</a>";
@mysql_close($server);
}
else{
echo "<p>Bitte alle Felder ausfü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.Stichworte: -
Einen Kommentar schreiben: