Autor Zpráva
rad
Profil *
if(isset($_POST['submit3'])) 
{
for($i = 0; $i < 3; $i++) 
{
if(isset($_POST["p_scnt$i"])) 
{
for($b=0;$b < count($_POST["p_scnt$i"][$b]);$b++)
{      
  $option_produit.$i=$_POST["p_scnt".$i.""][$b];       
} 
} 
 
var_dump ($option_produit.$i);
}
}


co je spatne ? vypada to ze je to nekonecna smycka
Keeehi
Profil
Místo:
for($b=0;$b < count($_POST["p_scnt$i"][$b]);$b++)
zkus:
for($b=0;$b < count($_POST["p_scnt$i"]);$b++)

A vypíše se Vám vůbec něco? Protože je to hodně divná konstrukce. Obzvlášť $option_produit.$i
Čeho se vlastně snažíte dosáhnout?
G3n3sis19
Profil
místo té tečky bych tipoval chtěl majitel tématu dát =
Keeehi
Profil
G3n3sis19:
Tak to by byla úplná blbost. Potom by for na třetím řádku přestával dávat smysl. Spíš bych to viděl, že rad skoro nemá páru co vlastně dělá a zkouší to nějak spatlat dohromady. Pokud napíše, co dělá, může mu někdo poradit funkční základ, a kterém se dá stavět.
G3n3sis19
Profil
ale vardump(); ze dvou proměnných spojených dohromady mu vznikne akorát tak chyba
rad
Profil *
mam formular ktery vypada asi takto :

s tim ze se muzou pridavat dinamicky inputy
jako je to napriklad tady : name="p_scnt0[] jsou dva
protoze tedy nevim kolik nakonec bude poli name="p_scnt0[] name="p_scnt1[] name="p_scnt2[]
zkousim nejdriv projit vsechny name="p_scnt0[] pak name="p_scnt1[] atd
pak bych to chtel postupne davat do databaze - takze v te smycce vezmu name="p_scnt0[] pridam a pokracovat.
snad je to trosku srozumitelne



<form id="form" action="/projet_tutore_online/admin/produit.php" method="post">
<fieldset>
<legend>option Categorie produit</legend>
<div id="p_scents0">
<h3>cat1</h3>
<a href="#" id="addScnt0">Add Another Input Box</a>
<p>
<label for="p_scnts">
<input type="text" id="p_scnt0" size="20" name="p_scnt0[]" value="" placeholder="option"/>
</label>
</p>
<input type="hidden" value="175" name="hidden"/>
<p>
<label for="p_scnts">
<input type="text" id="p_scnt" size="20" name="p_scnt0[]" value="" placeholder="option"/>
</label>
<a href="#" id="remScnt">Remove</a>
</p>
</div>
<div id="p_scents1">
<h3>cat2</h3>
<a href="#" id="addScnt1">Add Another Input Box</a>
<p>
<label for="p_scnts">
<input type="text" id="p_scnt1" size="20" name="p_scnt1[]" value="" placeholder="option"/>
</label>
</p>
<input type="hidden" value="176" name="hidden"/>
</div>
<div id="p_scents2">
<h3>cat3</h3>
<a href="#" id="addScnt2">Add Another Input Box</a>
<p>
<label for="p_scnts">
<input type="text" id="p_scnt2" size="20" name="p_scnt2[]" value="" placeholder="option"/>
</label>
</p>
<input type="hidden" value="177" name="hidden"/>
</div>
<input type="submit" value="Envoyer" name="submit3" class="awesome green medium"/>
</fieldset>
</form>
Keeehi
Profil
G3n3sis19:
Ve skutečnosti ne. Příklad:
$a = "Petr";
$b = "Pavel";
var_dump($a . " a " . $b);
//string(12) "Petr a Pavel"
Je to v pohodě, avšak v jeho případě je to smatlanina.
rad
Profil *
vardump() jsem volal jen proto abych videl vysledek meho snazeni
rad
Profil *
proste chtel bych projit vsechny pole name="p_scnt0[] name="p_scnt1[] name="p_scnt2[]
s tim ze nevim kolik bude mit name="p_scnt0[] name="p_scnt1[] name="p_scnt3[] prvku
proto to for uz si s tim nevim rady
Keeehi
Profil
Takto budou vypadat ty vaše dynamicky přidávané inputy. Name bude u všech stejné! (ostatní věci jako id nejsou podstatné, tam si cpěte co chcete)
<input type="text" id="p_scnt0" size="20" name="p_scnt[]" value="" placeholder="option"/>
<input type="text" id="p_scnt1" size="20" name="p_scnt[]" value="" placeholder="option"/>
<input type="text" id="p_scnt2" size="20" name="p_scnt[]" value="" placeholder="option"/>

A takto ten script pro ukládání do databáze:
if(!empty($_POST['submit3'])){
    foreach($_POST["p_scnt"] as $hodnota){
        $hodnota = mysql_real_escape_string($hodnota);
        $dotaz = "INSERT INTO tabulka (sloupec) VALUES ('$hodnota')";
        echo $dotaz."<br>"; // jen aby jste viděl, co se ukládá
        mysql_query($dotaz);
    }
}
rad
Profil *
diky ale ja prave potrebuju oddelit ty jednotlive inputy - proto tam mam ten hidden <input type="hidden" value="175" name="hidden"/> kdy vsechno z name="p_scnt0[]" je prave potreba ulozit take s hodnotou 175 name="p_scnt[]" s hodnotou 176 atd
G3n3sis19
Profil
$promenna = array(175 => $_POST['p_scnt0'], $_POST['p_scnt']);
rad
Profil *
jde mi o to ze ty hidden budou vzdy jen se tremi hodnotami a ty inputy s x hodnotami takze napriklad pro hidden xy1 budou dva inputy pro hidden xy2 bude jen jeden nebo 5 atd
proto potrebuju nejak prvne dostat kazdy hidden zvlast a pak vsechny inputy s nim spojene atd ...
rad
Profil *
ok myslim ze to mam
  foreach($_POST["hidden"] as $hidden)
  {
  
    $hidden= mysql_real_escape_string($hidden);
    
    foreach($_POST["p_scnt"] as $value)
    { 
             
      $value = mysql_real_escape_string($value);
      
      $db->query("INSERT INTO option_option VALUES ('','','$value');");
      
      echo $dotaz."<br>"; // jen aby jste viděl, co se uklád
    
    }
    }
diky za pomoc
G3n3sis19
Profil
$dotaz není deklarovaná, tutíž se ti nezobrazí nic až na ty <br>
rad
Profil *
jo on je tam jeste jiny problem ze porad potrebuju prochazet vsechno postupne ...ale uz si s tim snad nejak poradim - takhle se totiz pro kazdy hidden projdou vsechna pole coz nechci potrebuju aby se postupne pro kazdy hidden ..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0