checkBox Problem

Buba235

Erfahrenes Mitglied
Hallo!

Ich hoffe mal ihr könnt mir helfen! Ich bin sozusagen ein und weiß im Moment nicht mehr weiter. Ich habe in einem Programm eine SelectBox, in der Länder stehen und wenn ich mir da ein Land auswähle und auf den Button klicke dann gibt er mir alle Daten über dieses Land aus. Soweit so gut (denn das geht ja hervorragend), aber ich habe da noch ein paar checkBoxen. Wenn ich nun eine checkBox anklicke und mir dann ein Land auswähle (oder umgekehrt), dann soll er mir nur die Einträge dieses Landes ausgeben, in dem der Wert 1 in der Datenbank steht. Die checkBox heißt checkHPRP. Sollte also diese aktiviert sein und (z.B.) Deutschland in der SelectBox ausgewählt sein, so soll mir die Datenbank nur Deutschland mit dem HPRP Wert 1 ausgeben. Ich hoffe es ist einigermaßen verständlich. Hier nun mal mein Code:


//Bei changeCountry wird das selektierte Land in der ComboBox ausgegeben
function changeCountry() {
var index = document.getElementById('prio').selectedIndex;
var land = document.getElementById('prio').options[index].value;

location.href= "op_view.php?land="+land+"";
}

function test() {
var myresult;

if (document.testform.checkHPRP.checked) {
//HIER IST MEIN PROBLEM - WAS KOMMT HIER REIN?
//Ich hab es zuerst (wie hier zu sehen) mit JS versucht, aber das geht nicht!
}
}


So werden die checkBoxen erstellt:

<H3>Netzbetreiber</H3>

<table border="0">
<form name=testform action=op_view.php>
<tr align="center">
<td align="center" height="20px">
<input type="text" size="1" name = "textMCC" >&nbspMCC</input></br></br>
<input type="checkbox" name = "checkHPRP" onClick="test()">HPRP</input>
<input type="checkbox" name = "checkTOP">TOP</input>
<input type="checkbox" name = "checkVIP">VIP</input>
<input type="checkbox" name = "checkT10">T10</input>
<input type="checkbox" name = "checkTMO">TMO</input>
<input type="checkbox" name = "checkKPIRelevant">KPI</input>
<input type="checkbox" name = "checkKPIICRelevant">KPIIC</input>
<input type="checkbox" name = "checkAli">Ali</input>
<input type="checkbox" name = "checkIC">IC</input></br></br>
<input type="checkbox" name = "allcheck" onClick="CheckAll()">Alle markieren</input>
</td>
</tr>
</form>
</table>




Das ist die Datenbankabfrage:


$land = $_GET['land'];

if($land == ""){
//Ausgabe der Daten aus Tabelle tblnetzbetreibermaping
$queryA = "select
ID, Land, IRNetzbetreiber, MCC, MNC,MNC3, AlarmSperre, E212, HPRP, Top, Vip, Top10, Top50,
Top100, TMO, KPIRelevant, KPIICRelevant, InBKunden, InBKRanking, OutBKunden, OutBKRanking, InBUmsatz, OutBUmsatz,
Aliance, Interconnection, lockTMD, lockTMA, lockTMCZ, lockTMNL, lockTMH, lockTMUK, lockTMUSA
from
tblnetzbetreibermaping
ORDER BY
Land, IRNetzbetreiber
";
} else {
$queryA = "select
ID, Land, IRNetzbetreiber, MCC, MNC,MNC3, AlarmSperre, E212, HPRP, Top, Vip, Top10, Top50,
Top100, TMO, KPIRelevant, KPIICRelevant, InBKunden, InBKRanking, OutBKunden, OutBKRanking, InBUmsatz, OutBUmsatz,
Aliance, Interconnection, lockTMD, lockTMA, lockTMCZ, lockTMNL, lockTMH, lockTMUK, lockTMUSA
from
tblnetzbetreibermaping where Land='".$land."'
ORDER BY
Land, IRNetzbetreiber
";
}
 
Du hast, glaub ich, zwei Möglichkeiten:
1) das Formular abzuschicken und einem PHP Script per POST oder GET die Formulardaten zu übergeben, um dann die gewünschten Daten aus der Datenbank zu laden

oder 2) AJAX zu benutzen und die Daten dynamisch nachzuladen .. wobei zweiteres ein wenig komplizierter ist, denke ich ..

Gruß teppi
 
Hallo!


Erst einmal danke für die Antwort. Und nun zu deiner Antwort - Ich habe leider keine Ahnung wie das gehen soll! Also ich meine das mit dem GET oder POST. Wie löse ich das denn auf? Was muss ich denn da schreiben? Wie gesagt ich bin !
 
Hallo!

Danke aber ich darf nicht mit anderen Hilfsmitteln arbeiten als PHP, HTML und JS. Leider muss ich es über PHP lösen. Wäre also super wenn einer ne Antwort hätte.
 
AJAX ist Javascript... es ist nur eine Bezeichnung für eine spezielle Javascript-Technik.

aber wozu mit Javascript... sende das Formular ganz normal, fertitsch :)

dein Query musst du dann nur noch erweitern um eine WHERE-Klausel, falls die Checkbox aktiviert ist:
PHP:
<?php

$bedingung = isset($_GET['land']) 
                ? " where Land='" . $_GET['land'] . "'" :" ";

$bedingung.= (!empty($bedingung) && isset($_GET['checkHPRP']))
                ? " and HPRP = 1 " :"";

$sql=     "SELECT
                 ID, Land, IRNetzbetreiber, MCC, MNC,MNC3, AlarmSperre, E212, HPRP, Top, Vip, Top10, Top50,
                 Top100, TMO, KPIRelevant, KPIICRelevant, InBKunden, InBKRanking, OutBKunden, OutBKRanking, InBUmsatz, OutBUmsatz,
                 Aliance, Interconnection, lockTMD, lockTMA, lockTMCZ, lockTMNL, lockTMH, lockTMUK, lockTMUSA
              from
                 tblnetzbetreibermaping ". 
                 $bedingung .
              " ORDER BY
                  Land, IRNetzbetreiber";
                  
?>
 
Hm .. das wurde sicher schon millionenmal durchgekaut, aber nun gut :

Die HTML Seite:
PHP:
<form method="post" action="einScript.php">

<input type="text" name="einWert" value="blablablub" />

<input type="submit" value="Abschicken">

<form>

Das Script:
PHP:
<?php

echo $_POST['einWert'];

?>

Ausgabe sollte "blablablub" sein ..
Ich hoffe das Prinzip ist nun klar ..

@ Sven Mintel .. ich glaube, ich bin blind .. sorry
Gruß teppi
 
Zuletzt bearbeitet:
Hallo!


Also das Prinzip ist mir schon klar, nur ist es mir nicht möglich das ganze so auszugeben wie ich das haben möchte! Selbst mit der Methode die SQL Abfrage zu erweitern gibt es kein Resultat. Es wird einfach ignoriert und mir werden alle Daten ausgegeben.
 
Wie gibst du denn die Daten aus?

Nimm mal erstmal das Javascript-Zeugs da raus, das verhindert nur, dass das Formular vernünftig gesendet werden kann, weil dort momentan nur das Land übermittelt wird.
 
Nachdem ich auf einen Submitbutton geklickt habe wird mir eine ganze Tabelle ausgegeben! Mit den Werten die in dem SQL Statement stehen.
Nochmal zum Verständniss: Wenn ich über die Selectbox ein Land auswähle dann wird mir das Land auch ausgegeben (nach drücken des Buttons). Nur wenn ich in dieser Liste, die mir dann ausgegeben wird noch mal die Suche verfeinern möchte, dann geht bei mir nix!
 
Zurück