Hi Profis,
ich hab da mal ein Problem.
Bei meinem Script soll, wenn das Formular ausgefüllt ist, der Eintrag in die richtige (ausgewählte) Kategorie eingetragen werden (wie Linkliste).
Allerdings wird bei mir jeder Eintrag in ALLE Kategorien eingetragen, aber ich find den Fehler im Script nicht... :-(
Anbei das Stück Quellcode:
for ($x=0;$x < count($cat_array);$x++)
{
$rp = mysql_query ("SELECT p, gp FROM $db_category WHERE cat_id='$cat_array[$x]'");
$fp = mysql_fetch_assoc($rp);
mysql_query ("INSERT INTO $db_listcat (list_id, cat_id, p, gp) VALUES ($list_id, '$cat_array[$x]', '$fp[p]', '$fp[gp]')") or die(mysql_error());
}
include ( "includes/newlistingnotification.php" );
}
}
elseif ( $_POST["regbut"] == "$def_category_sel" )
{
$xflag=false;
for ($x=0;$x < count($cat_array);$x++){
if ($_POST[main] == $cat_array[$x]) $xflag=true;
}
if (!$xflag)
{
$cat_array[count($cat_array)]= $_POST[main];
$cat_str = implode(":", $cat_array);
}else{
$submit_error = "<font color=red><b>Error:</b> $def_cat_sel_error<br><br></font>"; $error_on = 1;
}
}
elseif ( $_POST["regbut"] == "$def_subcategory" )
{
$xflag=false;
for ($x=0;$x < count($cat_array);$x++){
if ($_POST[child] == $cat_array[$x]) $xflag=true;
}
if (!$xflag)
{
$cat_array[count($cat_array)]= $_POST[child];
$cat_str = implode(":", $cat_array);
}else{
$submit_error = "<font color=red><b>Error:</b> $def_cat_sel_error<br><br></font>"; $error_on = 1;
}
}
elseif ( $_POST["regbut"] == "$def_subsubcategory" )
{
$xflag=false;
for ($x=0;$x < count($cat_array);$x++){
if ($_POST[grandchild] == $cat_array[$x]) $xflag=true;
}
if (!$xflag)
{
$cat_array[count($cat_array)]= $_POST[grandchild];
$cat_str = implode(":", $cat_array);
}else{
$submit_error = "<font color=red><b>Error:</b> $def_cat_sel_error<br><br></font>"; $error_on = 1;
}
}
elseif ( $_POST["regbut"] == "$def_remove" and isset($_POST[cat_radio]))
{
$xflag = $_POST[cat_radio];
array_splice($cat_array, $xflag, 1);
$cat_str = implode(":",$cat_array);
}
Hat jemand eine Idee?
Gruß
Jörn
ich hab da mal ein Problem.
Bei meinem Script soll, wenn das Formular ausgefüllt ist, der Eintrag in die richtige (ausgewählte) Kategorie eingetragen werden (wie Linkliste).
Allerdings wird bei mir jeder Eintrag in ALLE Kategorien eingetragen, aber ich find den Fehler im Script nicht... :-(
Anbei das Stück Quellcode:
for ($x=0;$x < count($cat_array);$x++)
{
$rp = mysql_query ("SELECT p, gp FROM $db_category WHERE cat_id='$cat_array[$x]'");
$fp = mysql_fetch_assoc($rp);
mysql_query ("INSERT INTO $db_listcat (list_id, cat_id, p, gp) VALUES ($list_id, '$cat_array[$x]', '$fp[p]', '$fp[gp]')") or die(mysql_error());
}
include ( "includes/newlistingnotification.php" );
}
}
elseif ( $_POST["regbut"] == "$def_category_sel" )
{
$xflag=false;
for ($x=0;$x < count($cat_array);$x++){
if ($_POST[main] == $cat_array[$x]) $xflag=true;
}
if (!$xflag)
{
$cat_array[count($cat_array)]= $_POST[main];
$cat_str = implode(":", $cat_array);
}else{
$submit_error = "<font color=red><b>Error:</b> $def_cat_sel_error<br><br></font>"; $error_on = 1;
}
}
elseif ( $_POST["regbut"] == "$def_subcategory" )
{
$xflag=false;
for ($x=0;$x < count($cat_array);$x++){
if ($_POST[child] == $cat_array[$x]) $xflag=true;
}
if (!$xflag)
{
$cat_array[count($cat_array)]= $_POST[child];
$cat_str = implode(":", $cat_array);
}else{
$submit_error = "<font color=red><b>Error:</b> $def_cat_sel_error<br><br></font>"; $error_on = 1;
}
}
elseif ( $_POST["regbut"] == "$def_subsubcategory" )
{
$xflag=false;
for ($x=0;$x < count($cat_array);$x++){
if ($_POST[grandchild] == $cat_array[$x]) $xflag=true;
}
if (!$xflag)
{
$cat_array[count($cat_array)]= $_POST[grandchild];
$cat_str = implode(":", $cat_array);
}else{
$submit_error = "<font color=red><b>Error:</b> $def_cat_sel_error<br><br></font>"; $error_on = 1;
}
}
elseif ( $_POST["regbut"] == "$def_remove" and isset($_POST[cat_radio]))
{
$xflag = $_POST[cat_radio];
array_splice($cat_array, $xflag, 1);
$cat_str = implode(":",$cat_array);
}
Hat jemand eine Idee?
Gruß
Jörn
Kommentar