2010-12-05 16 views
1

Ich versuche, ein System zu erstellen, um zwei Datensätze in der Datenbank zu vergleichen. Wo die Datensätze in aufsteigender Reihenfolge der Namensspalte angezeigt werden, und dann kann ich 2 Datensätze auswählen, indem Sie das Kontrollkästchen neben den Datensätzen markieren und dann auf Vergleichen klicken. Wenn ich auf "Vergleichen" klicke, möchte ich die ID dieser beiden Datensätze an die nächste Seite senden.PHP GET Methode Problem

Wenn ich Get-Methode verwende, bekomme ich {id} = on $ {id} = on. was ich tun möchte, ist $ ID1 = {ID} & $ ID2 = {ID}

nicht sicher, wie dies zu tun? Brauchst du Javascript?

Antwort

2

Geben Sie das Kontrollkästchen den gewünschten Wert an - also die ID anstelle von "on".

<input type="checkbox" name="id" value="on" /> wird als id=on übergeben, wenn aktiviert.

<input type="checkbox" name="id" value="1337" /> wird als id=1337 übergeben, wenn aktiviert.

Ungeprüfter Checkbox werden nicht vorgelegt, so haben Sie if(isset($_GET['id']))


Und um zu überprüfen, wie Sie mehrere IDs zu verwenden scheinen:

<input type="checkbox" name="id[]" value="1337" /> 
<input type="checkbox" name="id[]" value="42" /> 

Dies wird ein Array erstellen $_GET['id'] enthält die Werte der geprüften IDs, z array(1337, 42), wenn beide Kontrollkästchen aktiviert wurden.

2

sehr sehr verwirrt durch Ihre Frage, bitte löschen Sie es.

Für das, was ich ausmachen kann Sie nicht tun wollen:

$ids = isset($_GET['ids']) && is_array($_GET['ids']) ? $_GET['ids'] : false; 

if($ids) 
{ 
    //Check the database 
} 

und HTML Wise dann

<form method="get" action="index.php"> 
    <input type="checkbox" name="ids[]" value="1" /> 
    <input type="checkbox" name="ids[]" value="12" /> 
    <input type="checkbox" name="ids[]" value="123" /> 
    <input type="checkbox" name="ids[]" value="1234"/> 
    <input type="checkbox" name="ids[]" value="2" /> 
    <input type="checkbox" name="ids[]" value="23" /> 
    <input type="checkbox" name="ids[]" value="234"/> 
</form> 

dieses Kontrollkästchen produzieren und auf Server-Seite können Sie verwenden $ids

+0

ThiefMaster meine Frage hätte tun wollen, was ich will. Danke für die Antwort, Entschuldigung, Sie zu verwirren :) –

1

Ich denke, dass sollte dies stattdessen sein:

Sie müssen sich für zwei verschiedene Kontrollkästchen
eindeutige ID geben, wenn Sie Vergleich in nachfolgender Seite

+0

aber ich habe ungefähr 200 ungerade Aufzeichnungen, aber werde nur zwei von ihnen vergleichen. –

+0

aber wird nur zwei von ihnen vergleichen. –

+0

@Harsha MV - Verwenden Sie ** Optionsfeld ** stattdessen. Also werden am Ende nur zwei GET gesetzt, und der Benutzer kann nur einen für jede ID – ajreal