.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Tech (http://www.dsy.it/forum/forumdisplay.php?forumid=189)
-- [risultato script in iframe]come? (http://www.dsy.it/forum/showthread.php?threadid=19412)


Posted by maynard80 on 10-05-2005 11:03:

[risultato script in iframe]come?

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.

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


Posted by Napolux on 10-05-2005 11:57:

Re: [risultato script in iframe]come?

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


Mmmh certo che e' possibile....

Allora fai cosi':

Nella form metti nel parametro action="" la stessa pagina in cui c'e' il form...

Poi nel punto della pagina dove vuoi l'iframe crea una DIV che usi questa classe CSS (trucco fighissimo per non usare gli iframe (difficili e non sempre compatibili) veri preso qui: http://www.constile.org/tips/emulare_gli_iframe/ )

.iframe {
width: 250px; // o le misure che vanno bene per te
height: 250px;
overflow: auto;
padding: 5px;
}

all'interno della div metti qualcosa del tipo:

PHP:

if isset($_POST["una var del form"])
{
// FAI QUERY

// STAMPA RISULTATO QUERY
}



Cosi' l'iframe fasullo verra' riempito solo se ci sono dati inviati dal form
Se invece vuoi che il finto iframe compaia solo se e' stato inviato il modulo allora metti il tag <div class="iframe"> subito all'inizio dell'IF e il tag </div> alla fine dell'if prima della graffa.

Per la seconda domanda che fai dovresti creare sempre all'interno della div un form con un flag per ogni calciatore che stampi...

Se hai dubbi chiedi pure.

__________________
Napolux.com


Posted by maynard80 on 10-05-2005 13:47:

dunque, ho fatto come dici, ma sono molto imbranato

PHP:

<!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><input type="text" name="ruolo"></td></tr>
        <tr><td>valore: </td><td><input type="text" name="valore"></td></tr> 
        <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.");     
                 

        
$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>




ma come si fa a far si che l'iframe abbia la scroll bar laterale? così fa schifo poichè quando visione molte tuple si allunga!

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


Posted by Napolux on 11-05-2005 08:00:

La classe CSS dovrebbe fare lo scrolling automaticamente, leggi il link al sito che ti ho dato...

A me non a mai dato problemi con codice PHP da stampare mette la barra quando diventa troppo lungo sia su IE che su Firefox....

Mah...

__________________
Napolux.com


Posted by maynard80 on 11-05-2005 11:37:

allora ho sbagliato io qualcosa, perchè a me non mette nessuna barra...

tra l'altro la stringa

PHP:

if isset($_POST('nomevariabile'))

mi da errore

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


Posted by maynard80 on 11-05-2005 13:14:

la classe è uguale alla tua:

code:
.iframe { color:#000066; background-color:#999999; width: 500px; // o le misure che vanno bene per te height: 500px; overflow:auto; padding: 5px; border-style:solid; border:1px; border-color:#666666; }

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


Posted by Napolux on 11-05-2005 13:23:

Boh...

Il manuale parla chiaro...

Che errore ti da'?

__________________
Napolux.com


Posted by maynard80 on 11-05-2005 13:56:

non da nessu errore, semplicemente non parte lo scroll e l'"iframe" si allunga a dismisura tanto quante sono le righe da rappresentare.

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


Posted by DeepBlue on 11-05-2005 14:13:

Originally posted by maynard80
if isset($_POST('nomevariabile'))
mi da errore

Sbagli la sintassi: usa $_POST['nome_variabile'] (se hai php > 4.1.0)

__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~


Posted by DeepBlue on 11-05-2005 14:15:

Originally posted by maynard80

.iframe {
border-style:solid;
border:1px;
border-color:#666666;
}


brrr....

usa una regola sola per definire tutta quella roba:

border: 1px solid #666666;

__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~


Posted by ripe on 11-05-2005 14:28:

Off-Topic:
Che sintassi da nerd, quella del Php... :D

__________________
«And if you ever smell christian blood up in the mountains, then get your axe and chop them down!»


Posted by maynard80 on 11-05-2005 19:22:

grazie, cmq non risolve il mio problema.. va beh per ora rinuncio

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


All times are GMT. The time now is 05:43.
Show all 12 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.