2016-03-18 16 views
-2
for ($i = 0; $i < count($name); $i++) 
    { 
    //some output ommited 

     <td><input type='submit' value='Purchase' name='$name[$i]'></td></tr>"; 
    } 

$ name [$ i] = name1, name2, name3, name4, name5, name6

nun einmal die Schaltfläche geklickt wird, diese ist, was ich zeigen sollte.

if (isset($_REQUEST['name1'])) {echo "name1 selected";} 
if (isset($_REQUEST['name2'])) {echo "name2 selected";} 
if (isset($_REQUEST['name3'])) {echo "name3 selected";} 
if (isset($_REQUEST['name4'])) {echo "name4 selected";} 
if (isset($_REQUEST['name5'])) {echo "name5 selected";} 
if (isset($_REQUEST['name6'])) {echo "name6 selected";} 

Ich habe Option in der db zu aktivieren oder deaktivieren Sie einen beliebigen Namen. Wenn name3 deaktiviert ist, ändert sich die Reihenfolge/Reihenfolge von $i.und ich kann den erforderlichen Parameter w.r.t $i nicht anzeigen.

Für exmaple I angezeigt werden soll, mit NAME3 Behinderte:

if (isset($_REQUEST['name4'])) { 
    echo "$name[4] selected, kind is $kind[4] kind and type is $type[4]"; 
} 

mit NAME3 Behinderte, name4 werden Werte anzeigen von name5

2:

Wie die Werte der Anfrage erhalten mit $ name [$ i]

for loop() { 
    if (isset($_REQUEST['$name[$i]'])) {echo "name1 selected";} 
} 

Helfen Sie mir Gerät ein Algo, um die Werte zu erhalten o f $i, so dass selbst wenn die Reihenfolge gestört ist, sollte ich wissen, $i trägt welchen Wert.

+1

, die Pseudo-Code ist, * rechts Sam? * –

+0

@ Fred-II- ,, Recht, das ist Pseudo-Code. –

Antwort

1

Zuerst müssen Sie $i-name verketten eindeutige Namen zu erhalten:

for ($i = 0; $i < count($name); $i++) 
{ 
    echo "<td><input type='submit' value='Purchase' name='$name . $i'></td></tr>"; 
} 

Wenn $name ist "name", dann werden Sie "name1", "name2", "name3", etc. erhalten

Dann können Sie print_r($_REQUEST); um die eingereichten Artikel zu sehen.

Sie brauchen nicht eine for-Schleife, um zu sehen, welche der Elemente festgelegt ist, aber wenn Sie eine Schleife durch die REQUEST-Array wollen könnten Sie so etwas tun:

foreach($_REQUEST as $post_var) 
{ 
    if('name' == substr($post_var, 0, 4)) 
    { 
     echo $post_var . ' '; 
    } 
} 

Ergebnis:

name1 name2 name3

+0

Werte werden korrekt übergeben, wie ich im Code –

+0

erwähnt habe if (isset ($ _ REQUEST ['name1'])) {echo "name1 ausgewählt";} .... Wie schreibe ich dies mit $ name ..if (isset ($ _REQUEST ['$ name [$ i]'])) {echo "name1 selected";} –

+0

A. Sie haben das nie angegeben und 2. Was fragen Sie dann? –

Verwandte Themen