PHP und MySQL Probleme - brauche einen kleinen Denkanstoß

PHP:
$query = "
        INSERT INTO plus1_optionen
        SET option = '" . mysql_escape_string( $value ) . "'";
        
        if( false == mysql_query( $query ) ) echo mysql_error();

Fehlersuche ist nicht soo schwer… ;)
Das hatte ich schon versucht, hat aber genau das wie vorhin ausgespuckt. Also hab ich mal alles von "option" nach "bezeichnung" geändert und siehe da - alels funktioniert :cake:
scope, hat dir schon mal jemand gesagt, dass du verdammt viel geduld hast?
 
Ich hab dein Problem irgendwie zu meinem gemacht und mich dann drin verbissen. Außerdem war das Problem in seiner Grundaufgabe so simpel, dass es nach den Aufgaben in anderen Projekten in der letzten Woche eine schöne kleine Herausforderung war. :D

Aber mit dem "option" als Spaltenname hab ich auch noch wieder was gelernt — gut zu wissen!
 
Ich hab dein Problem irgendwie zu meinem gemacht und mich dann drin verbissen. Außerdem war das Problem in seiner Grundaufgabe so simpel, dass es nach den Aufgaben in anderen Projekten in der letzten Woche eine schöne kleine Herausforderung war.
Dafür liebe ich dieses Forum :D Egal welches Problem man hat, hier wird einem immer verdammt schnell geholfen, sei es bei Mischpultfragen, bei iMac-Fragen, bei Tiergeräuschfragen :)D), bei....
Aber ich glaube jetzt gehe ich erstmal schlafen, bevor ich vor dem nächsten Problem stehe und nciht vom Bildschirm wegkomme... :hehehe: Ich denke nciht, dass dieser Thread jetzt abgehakt ist, leider... Naja, ich bin noch jung und unerfahren. Was soll's :D
Aber mit dem "option" als Spaltenname hab ich auch noch wieder was gelernt — gut zu wissen!
 
verdammt noch mal, wie bekomme ich die verdammten IDs aus tabelle 2 in "bezeichnung_id" in tabelle 3 in verbindung mit dem generierten code, mit dem ich die liste indentifizieren kann :rolleyes:
 
Du musst die ID der Liste, die du im ersten Schritt erstellt hast, natürlich mitschleifen.

(Entweder durch ein verstecktes Feld im Formular oder einen Parameter der action des Formulars.)
 
das hab ich ja, ich möchte also $_POST['code'] und die IDs der bezeichnungen in die tabelle bringen, schaff das aber nciht, also den code schon, nur die enzelnen IDs für die bezeichnungen nciht...
 
Wie hast du denn überhaupt die Zeilen für die Produkte erzeugt?
 
mit deinem code
PHP:
<?php
include('includes/config.inc.php');
$bezeichnungIDs = array();
foreach ( $_POST['bezeichnung'] as $id => $value ) {
   	$query = "SELECT * FROM plus1_optionen WHERE bezeichnung = '" . mysql_escape_string( $value ) . "' LIMIT 1";
   	$handler = mysql_query( $query );
   	if ( $result = mysql_fetch_array( $handler ) ) {
   		$bezeichnungIDs[] = $result['id'];
	} else {
		$query = "INSERT INTO plus1_optionen SET bezeichnung = '" . mysql_escape_string( $value ) . "'";
       	mysql_query( $query );
 		$bezeichnungIDs[] = mysql_insert_id();
    }
} ?>
 
Mein Code war ein wenig ungeschickt für die Aufgabe,
aber was hindert dich denn daran, so die Zeilen für das nächste Formular für die Anzahl an Produkten zu erstellen?

(Achtung, Zeile 9 und 13 haben sich im Vergleich zu deinem Code geändert)

PHP:
<?php 
include('includes/config.inc.php'); 

$bezeichnungIDs = array(); 
foreach ( $_POST['bezeichnung'] as $id => $value ) { 
       $query = "SELECT * FROM plus1_optionen WHERE bezeichnung = '" . mysql_escape_string( $value ) . "' LIMIT 1"; 
       $handler = mysql_query( $query ); 
       if ( $result = mysql_fetch_array( $handler ) ) { 
           $bezeichnungIDs[ $result['id'] ] = $value; 
    } else { 
        $query = "INSERT INTO plus1_optionen SET bezeichnung = '" . mysql_escape_string( $value ) . "'"; 
           mysql_query( $query ); 
         $bezeichnungIDs[ mysql_insert_id() ] = $value; 
    } 
}

foreach( $bezeichnungIDs as $id => $value )
{
	echo $value;
	?> <input type="text" name="anzahl[<?php echo $id; ?>]" /><?php
}
 
Zurück
Oben Unten