Problema recupero valori da select con chiamata ajax

andreadb91

Nuovo Utente
20 Giu 2013
19
0
1
Ciao a tutti non riesco a farmi restituire in base a ciò che scelgo tutti i cellulari aventi gpu uguale a quella che seleziono
Non capisco dove sbaglio non ho usato spesso ajax
questa è la parte della chiamata

PHP:
<script type="text/javascript">
function showUser(str)
{
if (str=="")
  {
  document.getElementById("result").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("result").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","stampagpu.php?gpu="+str,true);
xmlhttp.send();
}
</script>

<form>
GPU
<select name="gpus" onchange="showUser(this.value)">
<?php
include("../include/connect.php");
$conn=mysql_connect($HOST, $USER, $PASSWORD);
$db_ok=mysql_select_db($DB, $conn);
$k=1;
$ris=mysql_query("SELECT DISTINCT gpu FROM cellulare ORDER BY gpu ASC", $conn);
$recnum=mysql_num_rows($ris);
for($i=0;$i<$recnum;$i++){
	$gp=mysql_result($ris,$i,"gpu");
		
   		echo "<option value=".$k++.">".$gp."</option>";
}
mysql_close($conn);
?>
</select>
</form>
        </div>
<div id="result"><b>GPU presenti</b></div>

Questo è il codice PHP  stampagpu.php
<?php
include("../include/connect.php");
$conn=mysql_connect($HOST, $USER, $PASSWORD);
$db_ok=mysql_select_db($DB, $conn);
$gpu = $_GET["gpu"];

$ris=mysql_query("SELECT * FROM cellulare WHERE gpu='".$gpu."'", $conn);
$recnum=mysql_num_rows($ris);

for($i=0;$i<$recnum;$i++){
	$id=mysql_result($ris,$i,"idSmart");
	$cp=mysql_result($ris,$i,"nome");
   	$pr=mysql_result($ris,$i,"aziendaProduttrice");
	$bn=mysql_result($ris,$i,"image");
	$gp=mysql_result($ris,$i,"gpu");
		
		echo $cp;
		echo $_POST['gpu'];
		echo $gp;
		echo "ciao";
	
}
mysql_close($conn);
?>
 
Ultima modifica di un moderatore:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Innanzitutto non vedo perché scrivere tutta la parte della chiamata Ajax a mano quando ci sono framework Javascript che offrono una API per semplificarti il lavoro.

Inoltre, il tuo codice PHP usa la deprecata libreria mysql per la connessione al database ed è vulnerabile a SQL injection.

Ecco una versione rivisitata della pagina principale. stampagpu.php può facilmente essere riscritta a partire dal mio esempio.

PHP:
<?php
try {
    $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die('Errore interno.');
}

try {
    $stm = $pdo->query('SELECT DISTINCT gpu FROM cellulare ORDER BY gpu ASC');
} catch (PDOException $e) {
    die('Errore interno.');
}

$gpus = $stm->fetchAll(PDO::FETCH_ASSOC);

echo <<<EOF
<!DOCTYPE html>
<html lang="it">
    <head>
        <meta charset="utf-8">
        <title>jQuery</title>
    </head>

    <body>
        <select name="gpu" id="gpu">
EOF;

foreach ($gpus as $gpu) {
    echo <<<EOF
            <option value="{$gpu}">{$gpu}</option>
EOF;
}

echo <<<EOF
        </select>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script>
        $(function() {
            $("#gpu").change(function() {
                $("#result").load("stampagpu.php", {
                    gpu: $("#gpu").val()
                });
            });
        });
        </script>
    </body>
</html>
EOF;
 
Discussioni simili
Autore Titolo Forum Risposte Data
S problema con recupero dati tabella mysql PHP 2
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
Emix Problema recupero Dati da MYSQL PHP 20
T Problema con form e recupero dati da mysql PHP 17
T Problema recupero dati da file [era: help script php] PHP 9
O problema recupero valore con getElementById Ajax 0
W Problema recupero dati database Javascript 2
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 0
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7

Discussioni simili