Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Passare parametri ad un'immagine

    Salve, dovrei visualizzare un grafico con dei punti presi da un DB in base ad un parametro passato dalla pagina che include il grafico. Tuttavia se uso il formato:
    echo "<img src=\"graph.php?specimen=".$id."\">";

    trovo $specimen a null dentro graph.php.

    Come posso fare per fargli arrivare il valore?

  2. #2

  3. #3
    Certo: questo è il file completo:

    <?
    include("dbinfo.inc.php");
    mysql_connect($server,$username,$password);
    @mysql_select_db($database) or die( "<=error>=Unable to select database<=/error>=");
    $query="SELECT stress, strain FROM points WHERE test=".$test." ORDER BY strain";

    $result=mysql_query($query);
    $num=mysql_numrows($result);
    //echo $query;
    // Add values to the graph
    //while($row=mysql_fetch_assoc($result)){
    // $graphValues[]=$row;
    //}
    //$graphValues=array(0,80,23,11,190,245,50,80,111,24 0,55);
    // Define .PNG image
    header("Content-type: image/png");
    $imgWidth=300;
    $imgHeight=200;
    $image=imagecreate($imgWidth, $imgHeight);
    $colorWhite=imagecolorallocate($image, 255, 255, 255);
    $colorGrey=imagecolorallocate($image, 192, 192, 192);
    $colorBlue=imagecolorallocate($image, 0, 0, 255);
    imageline($image, 0, 0, 0, 200, $colorGrey);
    imageline($image, 0, 0, 200, 0, $colorGrey);
    imageline($image, 299, 0, 299, 199, $colorGrey);
    imageline($image, 0, 199, 299, 199, $colorGrey);
    // Create grid
    for ($i=0; $i<9; $i++){
    imageline($image, $i*30, 0, $i*30, 200, $colorGrey);
    imageline($image, 0, $i*25, 299, $i*25, $colorGrey);
    }
    // Create line graph
    for ($i=0; $i<$num-2; $i++){
    imageline($image, mysql_result($result,$i,"strain")*250/.8, 200 - mysql_result($result,$i,"stress"), mysql_result($result,$i+1,"strain")*250/.8, 200-mysql_result($result,$i+1,"stress"), $colorBlue);
    //imageline($image, $i*25, (200-$graphValues[$i]), ($i+1)*25, (200-$graphValues[$i+1]), $colorBlue);
    }
    // Output graph and clear image from memory

    imagepng($image);
    imagedestroy($image);

    ?>

  4. #4
    dentro graph.php non trovo la variabile $specimen (a dire la verita' non ho trovato nessuna variabile passata con $_GET...)

  5. #5
    In effetti avevo riportato la sezioen di un altro test. Questa è quella corrispondente:
    <img src=\"graph.php?test=".$test."\">

    dove tuttavia non ho usato il protocollo GET, ma il '?'.

    Potrebbe essere questo il problema ed il quel caso come faccio ad usarlo per inviare dati senza utilizzare un form?

  6. #6
    penso che per il $_GET non e' necessario il form ma che il parametro sia sulla riga della barra degli indirizzi (come nel tuo caso).

    prova a scrivere cosi' :
    Codice PHP:
    $specimen = ( isset ( $_GET['specimen'] ) ? $_GET['specimen'] : "") ; 
    In pratica se esiste sulla riga dell'indirizzo ti porta dentro la variabile, altrimenti assegna a $specimen il valore ""

  7. #7
    scusa, sostituisci tutti gli specimen con test...

  8. #8
    Ok, conosco la sintassi del GET, ma finora lo ho usato per raccogliere valori da un form: come faccio a dargli un valore dall'interno di un semplice url?

  9. #9
    di solito quello che viene passato su un link con & viene raccolto con la variabile $_GET.
    Nel tuo caso hai inserito nell'indirizzo ?specimen=".$id

    Penso che dall'altra parte lo puoi raccogliere tranquillamente con $_GET

    Questo e' quello che faccio io nei miei prg in PHP
    Codice PHP:
    $successiva "<input type=\"button\" value=\"Successiva >>\" title = \"Vai alla pagina successiva\"    onclick=\"location.href='barzellette.php?azione=leggi";
    if(
    $categ<>"") {                
    $successiva .= "&amp;categoria=".$categ;
    }
    $successiva .= "&amp;pagina=".$next_page"';\">"
    questo crea un link che poi riprendo nell'altro programma con il comando $_GET
    In questo caso non passo per il form perche' l'utente sceglie di cliccare il link, penso che sia circa come il tuo caso..

  10. #10
    Grazie, in effetti funziona il normale passaggio con il '?'.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.