PDA

View Full Version : [risultato script in iframe]come?


TorpedoBlu
10-05-2005, 10:59
ciao ragazzi, sto imparando piano piano a usare php e mySQL, ho capito come si fa una form che manda le variabili tramite metodo post e come si fanno ad utilizzare tali variabili attraverso la variabile $_POST nella pagina definita nell'action della form.

vorrei però visualizzare i dati della mia query all'interno di una iframe senza cambiare pagina, è possibile?

diciamo che ho una tabella giocatori con 3 campi (cognome,ruolo,quotazione)e voglio poter scegliere un giocatore in base al ruolo e alla sua quotazione e visualizzare il risultato nella iframe sottostante.


Se poi fosse possibile vorrei poter selezionare 1 o + giocatori visualizzati e utilizzarli per una seconda query al database.


é possibile tramite php?

cionci
10-05-2005, 16:04
Un iframe non è altro che una nuova pagina... Dovrebbe bastare che il target della action della form sia il nome (l'id) dato all'iframe... Ma non sono sicuro che funzioni così...in alternativa puoi comporre l'url tramite codice javascript (una volta premuto un bottone) e tramite window.open caricarlo nell'iframe (tramite l'id)...

TorpedoBlu
10-05-2005, 18:50
mhmm non ho molto capito la tua seconda soluzione, ci provo e posto il codice

TorpedoBlu
11-05-2005, 07:24
dunque, sto provando a simulare un iframe semplicemente con una classe css


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="images/emx_nav_left.css" type="text/css">
</head>

<body>
<form action="iframe.php" method="post" enctype="multipart/form-data">
<table>
<tr><td>cognome: </td><td><input type="text" name="cognome"></td></tr>
<tr><td>ruolo: </td><td>
<select name="ruolo" size="1">
<option>attaccante</option>
<option>centrocampista</option>
<option>difensore</option>
</select></td></tr></td></tr>
<tr><td>valore: </td><td><input type="text" name="valore" value="0">

<tr><td></td><td><input type="submit" value="seleziona"></td></tr>
</table>
</form>
<?php
$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "fantaprova";

$DBconn = mysql_connect($db_host, $db_user, $db_password)
or die("Connessione non riuscita: " . mysql_error());
mysql_select_db($db_name, $DBconn)
or die ("Errore nella selezione del database. Verificare i parametri impostati.");



// $InsertPSQL = "INSERT INTO giocatori(cognome,ruolo,valore) VALUES('".$NomeP[$i]."','".$RuoloP[$i]."',".$CostoP[$i].")";
$cognome=$_POST['cognome'];
$ruolo=$_POST['ruolo'];
$valore=$_POST['valore'];
echo "hai selezionato $ruolo con prezzi a partire da $valore";
$query = "SELECT * FROM giocatori where ruolo='".$ruolo."'and cognome like'%".$cognome."%' and valore>$valore";
$res = mysql_query($query);
if ($res){
echo "<br><br>GIOCATORI<br><br>Trovati ".mysql_num_rows($res)." record";
}

if (!$res) {
echo "Errore nella query richiesta.\n";
exit;
}


?>
<div class="iframe">
<table><tr><td width="160"><b>Cognome</b></td><td width="160"><b>Ruolo</b></td><td><b>Valore</b></td></tr>
<?
while ($row = mysql_fetch_array($res)) {
printf ("<tr>");
printf ("<td>%s</td><td>%s</td><td>%s</td>", $row[0], $row[1], $row[2]);
printf ("<tr>");
}
?>
</table></div>
</body>
</html>




purtroppo però nonostante nella classe ho settato il campo overflow:auto, non compare la scrollbar e il fantomatico iframe si allunga e accorcia in base a quante tuple di giocatori visualizzo.


dove sbaglio?