super global

Status
Niet open voor verdere reacties.

willem008

Gebruiker
Lid geworden
28 sep 2007
Berichten
792
goede dag

Ik heb nu in mijn database een formulier waar een waarde als een array wordt verzonden naar een andere pagina waar hij in een query gebruikt wordt.

PHP:
<FORM METHOD="post" ACTION="verwerkplaats2011.php">
<SELECT NAME="choice">
<OPTION VALUE="" SELECTED>zoeken op paard</OPTION>
<OPTION VALUE="A">boko</OPTION>
<input type="submit" name="submit" value="Zoek!" />
</SELECT>
</FORM>

[B]verwerkplaats2011.php[/B]
if ( $_POST['choice'] == 'A' ) {
$sql = "select * from paard, plaats, uitslag, pikeurs, koppelkortebaan2011, afstand where 
naam = 'boko' and
paard.paard_id = koppelkortebaan2011.paard_id and
plaats.plaats_id = koppelkortebaan2011.plaats_id and
uitslag.uitslag_id = koppelkortebaan2011.uitslag_id and
pikeurs.pikeur_id = koppelkortebaan2011.pikeur_id and
afstand.afstand_id = koppelkortebaan2011.afstand_id";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "<tr><br /><br /><td><strong>" . $row["naam"] . "</strong></td><td>" . $row["pikeur"] . "</td><br />
        <td> " . $row["uitslag"]  . "</td></tr>\n";
    echo "<tr><td colspan='2'>" . $row["plaats"]  . "</td><br /><td>" . $row["afstand"]  . "</td></tr>\n";
  }  
}

Ik moet nu steeds voor elk paard een nieuwe query maken,
Nou is mij vraag kan ik via een formulier ipv post , met get een superglobal verzenden
bijv een naam boko en dat in de query die superglobal gebruiken.

of is dat geen gebruikelijke manier
 
Laatst bewerkt door een moderator:
Als je nou eens als value van je dropdowns de gewenste namen invult ;)

Dan kun je de query mooi makkelijk opbouwen :)
PHP:
$sql = "
SELECT * FROM paard pa, plaats pl, uitslag ui, pikeurs pi, koppelkortebaan2011 ka, afstand af WHERE 
naam = '". mysql_real_escape_string($_POST['choice' ]) ."' AND
pa.paard_id = ka.paard_id AND
pl.plaats_id = ka.plaats_id AND
ui.uitslag_id = ka.uitslag_id AND
pi.pikeur_id = ka.pikeur_id AND
af.afstand_id = ka.afstand_id";
 
ik heb nu dit gemaakt zou het zo iets moeten zijn, dit werkt echter niet.

PHP:
[B]Formulier[/B]

<FORM METHOD="post" ACTION="verwerkpaard.php">
        <SELECT NAME="choice">
          <OPTION VALUE="" SELECTED>------ Zoeken op Paard ------</OPTION>
          <OPTION VALUE="montanara">montanara</OPTION>
          <input type="submit" name="submit" value="Zoek!" /> 
        </SELECT>
        </form>

[B]verwerkpaard.php[/B]

$sql = "select * from paard, plaats, uitslag, pikeurs, paard_uitslag, afstand where 
naam = '". mysql_real_escape_string($_POST['choice' ]) ."' and
paard.paard_id = paard_uitslag.paard_id and
plaats.plaats_id = paard_uitslag.plaats_id and
uitslag.uitslag_id = paard_uitslag.uitslag_id and
pikeurs.pikeur_id = paard_uitslag.pikeur_id and
afstand.afstand_id = paard_uitslag.afstand_id";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "<tr><br /><br /><td><strong>" . $row["naam"] . "</strong></td><td>" . $row["pikeur"] . "</td><br />
        <td> " . $row["uitslag"]  . "</td></tr>\n";
    echo "<tr><td colspan='2'>" . $row["plaats"]  . "</td><br /><td>" . $row["afstand"]  . "</td></tr>\n";
  }  
}
 
Laatst bewerkt door een moderator:
Wellicht een SQL-error?
PHP:
$sql = "select * from paard, plaats, uitslag, pikeurs, paard_uitslag, afstand where 
naam = '". mysql_real_escape_string($_POST['choice' ]) ."' and
paard.paard_id = paard_uitslag.paard_id and
plaats.plaats_id = paard_uitslag.plaats_id and
uitslag.uitslag_id = paard_uitslag.uitslag_id and
pikeurs.pikeur_id = paard_uitslag.pikeur_id and
afstand.afstand_id = paard_uitslag.afstand_id";
$result = mysql_query($sql);
if(!$result) {
  echo 'Er is een fout opgetreden! MySQL zegt: '. mysql_error();
} else {
  while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "<tr><br /><br /><td><strong>" . $row["naam"] . "</strong></td><td>" . $row["pikeur"] . "</td><br />td> " . $row["uitslag"] . "</td></tr>\n";
    echo "<tr><td colspan='2'>" . $row["plaats"] . "</td><br /><td>" . $row["afstand"] . "</td></tr>\n";
  } 
}

Anders $query echoën en in phpMyAdmin invoeren, kijken of je dan wel resultaat krijgt
 
Heb na veel proberen iets wat werk ,alleen ik wil weten of die de goede manier is voordat ik mijn hele database ga veranderen.


formulier

<FORM METHOD="post" ACTION="verwerk2008.php">
<SELECT NAME="choice">
<OPTION VALUE="" SELECTED>------ Zoeken op Plaats ------</OPTION>
<OPTION VALUE="montanara">Montanara</OPTION>
<input type="submit" name="submit" value="Zoek!" />
</SELECT>
</FORM>

verwerk2008.php

if ( $_POST['choice'] ) {
$sql = "select * from paard, plaats, uitslag, paard_uitslag_2008 where
naam = '" . mysql_real_escape_string($_POST['choice' ]) . "' and
paard.paard_id = paard_uitslag_2008.paard_id and
plaats.plaats_id = paard_uitslag_2008.plaats_id and
uitslag.uitslag_id = paard_uitslag_2008.uitslag_id";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<tr><td><br /><br />" . $row[""] . $row["naam"] . "</td><br />
<td> " . $row["uitslag"] . "</td></tr>\n";
echo "<tr><td colspan='2'>" . $row["plaats"] . "</td></tr>\n";
}
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan