Visualizzazione dei risultati da 1 a 2 su 2

Discussione: dropdown menu php ajax

  1. #1

    dropdown menu php ajax

    Salve a tutti,

    espongo il problema al quale sto tentando di trovare una soluzione. Nella pagina catalogo.php ho il seguente codice:

    Codice PHP:

              <div class="entry">

    <script type="text/javascript">
    function AjaxFunction(cat_id)
    {
    var httpxml;
    try
      {
      // Firefox, Opera 8.0+, Safari
      httpxml=new XMLHttpRequest();
      }
    catch (e)
      {
      // Internet Explorer
              try
                            {
                        httpxml=new ActiveXObject("Msxml2.XMLHTTP");
                        }
                  catch (e)
                        {
                    try
                  {
                  httpxml=new ActiveXObject("Microsoft.XMLHTTP");
                  }
                    catch (e)
                  {
                  alert("Your browser does not support AJAX!");
                  return false;
                  }
                }
      }
    function stateck() 
        {
        if(httpxml.readyState==4)
          {

    var myarray=eval(httpxml.responseText);
    // Before adding new we must remove previously loaded elements
    for(j=document.testform.subcat.options.length-1;j>=0;j--)
    {
    document.testform.subcat.remove(j);
    }


    for (i=0;i<myarray.length;i++)
    {
    var optn = document.createElement("OPTION");
    optn.text = myarray[i];
    //optn.value = myarray[i];
    document.testform.subcat.options.add(optn);


          }
        }
        var url="dd.php";
    url=url+"?cat_id="+cat_id;
    url=url+"&sid="+Math.random();
    httpxml.onreadystatechange=stateck;
    httpxml.open("GET",url,true);
    httpxml.send(null);
      }
    </script>

    <form name="testform" method='POST' action='mainck.php'>

    Categoria 
      <select name=cat onChange="AjaxFunction(this.value);">
    <option value=''><-- Seleziona --></option>
    <?php
    require "config.php";// connection to database 
    $q=mysql_query("select * from hcat_it ");
    while(
    $n=mysql_fetch_array($q)){
    echo 
    "<option value=$n[idcat]>$n[categoria]</option>";
    }
    }
    ?>
    </select>

    <select name=subcat>

    </select><input type=submit value=CERCA>
    </form>
    seleziono il valore della categoria e ottengo il valore della sottocategoria associata nel file mainck.php :

    Codice PHP:
     <?php 

    include ("../config.inc.php");
    include (
    "../connect.php");

      
    $ndthumb "anteprima_thumb.jpg";




      
    // esecuzione prima query
    $count mysql_query("SELECT COUNT(idart) FROM $tabarticoli");
    $res_count mysql_fetch_row($count);

    // numero totale di records
    $tot_records $res_count[0];

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page 5;

    // numero totale di pagine
    $tot_pages ceil($tot_records $per_page);

    // pagina corrente
    $current_page = (!$_GET['page']) ? : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;

    /*if(isset($_POST['posted'])) {
    $idcat = $_POST['idcat'];
    $categoria = $_POST['categoria'];
    $subcat2 = $_POST['subcategoria'];*/

     
    while (list ($key,$val) = each ($_POST)) {
    //echo "\$$key = $val";
    $categoria $val[0];
    $subcat $val[1];
    //$idsubcat = $val[3];
    echo $categoria;
    echo 
    $subcat;
    //echo $idsubcat;
    echo "
    "
    ;




    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT * FROM harticoli_it WHERE idcat ='$categoria' LIMIT $primo$per_page");

    while(
    $i mysql_fetch_array($query_limit)) {

    $id $i['idart'];

    $dettaglio "dettaglio.php?id=$id";


    //$query = "SELECT * FROM demoarticoli ORDER BY idart";
    //$result = mysql_query($query, $db);

    //while ($i = mysql_fetch_array($result)) {

    // gestione tabulazione contenuto
    $descrizione $i['descrizione'];
    $acapo wordwrap($descrizione,90);
    $acapo1 nl2br($acapo);

    $immagine $i['thumb'];
    $predefimmagine $ndthumb;

    if(empty(
    $i['thumb'])) {
    $immagine $ndthumb;
    }
    ;
    //if ($immagine == "" ) { echo [img]$ndthumb[/img] }else{ echo [img]thumbs/$immagine[/img] } 
    $box "<table width='800' border='0'>
      <tr>
      <input name='posted' type='hidden' value='
    $i[idart]' />
        <td width='20%' bgcolor='white'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span>[img]thumbs/
    $immagine[/img]</div></td>
        <td  width='20%' bgcolor='#669999'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center>[b]
    $i[articolo][/b]</center></div></td>
        <td width='40%' bgcolor='#669999'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span>[b]
    $acapo1</div></td>
        <td width='10%' bgcolor='#669999'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center><font color='black'>[b]<H4>€ 
    $i[prezzo]</H4>[/b]</font></center></div></td>
          <td width='10%' bgcolor='#669999'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'></span></span></span><center>[url='
    $dettaglio'][img]iconeTBASE/dettaglio.png[/img][/url]</center></div></td>
        
      </tr>
    </table>"
    ;


    //"<td width='22%' height='110'>  </td>
    //           <td valign='top' class='detailText' nowrap='nowrap'>
    [url='javascript:;'][/url]

    //          Prezzo: </td>"; 
    //<td width='20%' bgcolor='#CCCCCC'><div align='justify'><span class='Stile1'><span class='Stile2'><span class='Stile3'><input //name='list[]' type='checkbox' value='$i[idart]' /></span></span></span></div></td>    
        
    echo $box;
        }
        }
        }
        
    //}
        

        // includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
    include("paginazione.php");
    //include("paginazione_2.php");

    // in questa cella inseriamo la paginazione
    echo "
    "
    ;
    echo 
    " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\"><h3>[b]$paginazione[/b]</h3></td>\n";

    echo 
    " </tr>\n</table>\n</div>";

    ?>
    il file dd.php invece contiene il seguente codice:

    Codice PHP:

    <?php
    $cat_id
    =$_GET['cat_id'];
    require 
    "config.php";
    $q=mysql_query("select * from hsubcat_it where idcat='$cat_id'");
    echo 
    mysql_error();
    $myarray=array();

    $str="";

    while(
    $nt=mysql_fetch_array($q)){
    $str=$str "\"$nt[subcategoria]\"".",";

    }
    $str=substr($str,0,(strLen($str)-1)); // Removing the last char , from the string

    echo "new Array($str)";





    ?>
    Dovrei riuscire a passare dal file dd.php non soltanto il valore "subcategoria" che identifica e stampa correttamente la sottocategoria associata, ma anche un secondo valore (un campo nascosto? ) per far sì che selezionando categoria mi restituisca sottocategorie e selezionato sottocategorie mi stampi soltanto gli articoli della sottocategoria selezionata e non di tutte le sottocategorie come sta stampando con questo codice. Ho provato diverse soluzioni ma senza ottenere il risultato desiderato.
    I campi in comune tra categorie, sottocategorie e articoli sono: idcat e ID. Le tabelle sono relazionate con InnoDB.
    Qualche suggerimento? Grazie mille.

  2. #2
    nessuno è in grado di darmi una mano? Il problema principale che riscontro è che non riesco a passare contemporaneamente il valore della sottocategoria da stampare nella select e il campo per associazione tra categoria, sottocategoria e articolo da utilizzare per il filtro nella pagina mainck.php
    .

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 © 2024 vBulletin Solutions, Inc. All rights reserved.