select concatenate solo php

RobertaC

Nuovo Utente
2 Lug 2013
26
0
0
Buondì sono ancora io alle prese con la stessa maledetta interfaccia web

avrei bisogno di capire se si può abilitare una select con la scelta di una determinata option di un'altra select

mi spiego meglio:

prima select

HTML:
<select name="status">
                    <option value="in_corso" selected>IN CORSO</option>
                    <option value="assegnato">ASSEGNATO</option>
                    <option value="pendente">PENDENTE</option>
                    <option value="risolto">RISOLTO</option>
                    <option value="annullato">ANNULLATO</option>
                    <option value="chiuso">CHIUSO</option>
                </select>

alla selezione della opt con value="chiuso" deve essere possibile la selzione di una option da qst altra select disabilitata x default

PHP:
<select name="chiusura" disabled>
                        <?php
                         $risultato3=mysql_query("SELECT codice, descr FROM codice_chius", $conn); 
                 
                         while ($riga3=mysql_fetch_array($risultato3))
                         {
                         $campo13 = $riga3['codice'];
                         $campo23 = $riga3['descr'];
                   
                         echo "<option value='$campo13'>$campo13 . $campo23</option>";  
                         }
                        ?>
                    </select>

è possibile?

Ringrazio anticipatamente chi mi vorrà dare 1 mano
 
solo abilitare si, basta un minimo di javascript, se utilizzi jquery fai anche prima.

Se invece le devi popolare si parla di ajax.
 
purtroppo le mie conoscenze limitate si fermano a html - php
nn si può fare niente senza jquery/ajax/js?
 
PHP:
<select name="status">
                    <option value="in_corso" selected>IN CORSO</option>
                    <option value="assegnato">ASSEGNATO</option>
                    <option value="pendente">PENDENTE</option>
                    <option value="risolto">RISOLTO</option>
                    <option value="annullato">ANNULLATO</option>
                    <option value="chiuso">CHIUSO</option>
<?php 
                         $risultato3=mysql_query("SELECT codice, descr FROM codice_chius", $conn);  
                  
                         while ($riga3=mysql_fetch_array($risultato3)) 
                         { 
                         $campo13 = $riga3['codice']; 
                         $campo23 = $riga3['descr']; 
                    
                         echo "<option value='".$campo13."'>".$campo13."</option>";
                         echo "<option value='".$campo23."'>".$campo23."</option>";   
                         } 
?>
                </select>

prendi gli opt dal select disabilitato e li passi al select status è piu o meni quello che volevi fare?
fammi sapere ciao.
 
no, non è quello ke voglio fare

quello che vorrei è ke selezionando lo stato chiuso(option della 1^select) si abiliti la scelta del tipo di chiusura che sarebbero i campi della 2^select presi da db

si può fare senza js/jquery/ajax????

se si come?
 
Per rendere dinamica una pagina già caricata dal server si deve manipolare il dom, per farlo si necessiata di un linguaggio client-side come javascript e le varie librerie.

Ti ho preparato un piccolo esempio, non so se è quello che serve a te:
HTML:
<html><head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  


<script type="text/javascript">

function check(val)
{
	//disabilito tutto 
	document.getElementById('sel_2').disabled = true
	document.getElementById('sel_3').disabled = true
	
    switch(val)
	{
		case 'chiusura':
				document.getElementById('sel_2').disabled = false
			break;
		case 'apertura':
				document.getElementById('sel_3').disabled = false
				break;
	}
}


</script>


</head>
<body>
  <select id="sel_1" name="sel_1" onchange="check(this.value)">
    <option value="">Scegli un opzione</option>
    <option value="chiusura">chiusura</option>
    <option value="apertura">apertura</option>
</select>

<select id="sel_2" name="sel_2" disabled="">
    <option value="">Scegli un opzione</option>
    <option value="chiusura">chiusura</option>
    <option value="apertura">apertura</option>
</select>

<select id="sel_3" name="sel_3" disabled="">
    <option value="">Scegli un opzione</option>
    <option value="chiusura">chiusura</option>
    <option value="apertura">apertura</option>
</select>
  





</body></html>
Questo usa solo javascript, soluzione funzionante ma poco elegante secondo me ;)
 
Ultima modifica:
1 passo avanti e 1 indietro

è intervenuto il tutor e mi ha aiutato con il javascript,
ora però quando provo ad inviare i dati al db mi riempie la pag di errori....

qst è il codice
PHP:
<?php 

    $hostname = "localhost";
    $username = "root"; 
    $password = ""; 
    $dbname = "monitoraggio"; 
    $conn = mysql_connect($hostname, $username, $password) or die ('Errore durante la connessione al server MySQL. aaaarrrrghhhh' . mysql_error());  
    mysql_select_db($dbname, $conn) or die ('Errore durante l\'accesso al DataBase, THE MACHINE SPIRIT IS SLEEPING' . mysql_error());
    [COLOR="#008000"]$id_inc=$_POST["id_gest"];[/COLOR]
    $strSQL11 = "SELECT id, matr_cliente, data_ap1, stato_attuale, competenza, assegnatario, gruppo_assegn, priorita_segn,data_mod,note FROM incident, modif_stato, user_gruppo WHERE id = $id_inc AND id = id_incid AND gruppo_assegn = id_gruppo AND data_mod=(select max(data_mod) from modif_stato where id_incid=$id_inc);"; 
    $risultato11 = mysql_query($strSQL11,$conn);
    
?>
<html>
<head>
    <title>GESTIONE INCIDENT</title>
    <link href="css/all.css" rel="stylesheet" type="text/css" media="all"/>
    <script>
    function nome()
    {

        var selectvar2=document.getElementById('codicechiusura');
        var selectvar1=document.getElementById('status');
        var idx=selectvar1.selectedIndex;
       
        if (selectvar1.options[idx].value=='chiuso')
        {
            selectvar2.disabled=false;
        }else  selectvar2.disabled=true;
        
    }
    </script>
</head>
<body>
   
    <div id="main">
  <div id="main">
    <div id="divmenu">
        <h1>GESTIONE INCIDENT</h1>
        <a href="user_interface.html"><img src="img/img_exit.jpg" alt="EXIT"></a>
    
    </div>

    <div id="divsx">
        <div id="divsx1">
            <h2>DATI INCIDENT</h2>
            
        </div>
        <div id="divsx2"><br/><br/>
            <?php
                while($riga11= mysql_fetch_array($risultato11))
                {echo "<br/><br/><br/><br/>";
                echo "<h3 align=\"center\"><i> ID:</i>" . $riga11["id"] . " </h3> <br/> <h4 align=\"center\">";
                echo "<i> Status:</i>" . $riga11["stato_attuale"] . "<br/><br/>";
                echo "<i>Gruppo assegnatario:<i/>" . $riga11["gruppo_assegn"] . "<br/><br/>";
                echo "<i>Data apertura:</i>" . $riga11["data_ap1"] . "<br/><br/>";
                echo "<i>Data ultima modifica:</i>" . $riga11["data_mod"] . "<br/><br/>";
                echo "<i>Note:</i> <br/><textarea readonly>" . $riga11["note"] . "</textarea><br/>";
                echo "</h4>";
                }
                ?>
        </div>
    </div>
    
    <div id="divdx">
        <div id="divdx1">
            <h2>MODIFICA INCIDENT</h2>
        </div>
        <div id="divdx2">
            <form id="gestione" name="gestione" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <h3 align="center"> <br/>IDincident: <?php
                $strSQL11 = "SELECT id, matr_cliente, data_ap1, stato_attuale, competenza, assegnatario, gruppo_assegn, priorita_segn,data_mod,note FROM incident, modif_stato, user_gruppo WHERE id = $id_inc AND id = id_incid AND gruppo_assegn = id_gruppo AND data_mod=(select max(data_mod) from modif_stato where id_incid=$id_inc);"; 
                $risultato11 = mysql_query($strSQL11,$conn);
                [COLOR="#0000FF"]$riga11= mysql_fetch_array($risultato11);[/COLOR]
                echo $riga11["id"]  ;  ?> </h3>
                <h4 align="center">Stato:
                <select  id="status" name="status" onChange="nome()">
                    <option value="in_corso" selected>IN CORSO</option>
                    <option value="assegnato">ASSEGNATO</option>
                    <option value="pendente">PENDENTE</option>
                    <option value="risolto">RISOLTO</option>
                    <option value="annullato">ANNULLATO</option>
                    <option value="chiuso">CHIUSO</option>
                </select>
                    <br/><br/>
                    Chiusura:
                    <select id="codicechiusura" name="codicechiusura" disabled>
                        <?php
                         $risultato3=mysql_query("SELECT codice, descr FROM codice_chius", $conn); 
                 
                         while ($riga3=mysql_fetch_array($risultato3))
                         {
                         $campo13 = $riga3['codice'];
                         $campo23 = $riga3['descr'];
                   
                         echo "<option value='$campo13'>$campo13 . $campo23</option>";  
                         }
                        ?>
                    </select>
                    <br/><br/>
                Gruppo:
                <select id="gruppoass" name="gruppoass">
                    
                 <?php
                 $risultato2=mysql_query("SELECT DISTINCT gruppo_assegn FROM modif_stato", $conn); 
                 
                 while ($riga2=mysql_fetch_array($risultato2))
                 {
                 $campo12 = $riga2['gruppo_assegn']; 
                   
                 echo "<option value='$campo12'>$campo12</option>";  
                 }
                 ?>
                 </select>
                <br/><br/>
                Assegnatario:
                <input type="text" name="assegnatario" size="20" maxlenght="40" placeholder="nome_assegnatario" required/>
                <br/><br/>
                Matricola operatore:
                <input type="text" name="cod_operatore" size="20" maxlenght="40" required/>
                <br/><br/>
                Data:
                <?php
                echo date("d.m.Y") . "--"  . date("H:i:s");
                ?><br/><br/>
                Note:<br/>
                <textarea name="note"></textarea>
                </h4><br/>
            <br/>
            <h4 align="center">
            <input type="submit" value="CARICA" align="center" name="carica"></h4>
            </form>
            <?php
            $strSQL11 = "SELECT id, matr_cliente, data_ap1, stato_attuale, competenza, assegnatario, gruppo_assegn, priorita_segn,data_mod,note FROM incident, modif_stato, user_gruppo WHERE id = $id_inc AND id = id_incid AND gruppo_assegn = id_gruppo AND data_mod=(select max(data_mod) from modif_stato where id_incid=$id_inc);"; 
                $risultato11 = mysql_query($strSQL11,$conn);
                [COLOR="#800080"]$riga11= mysql_fetch_array($risultato11);[/COLOR]
            $risultato3=mysql_query("SELECT codice, descr FROM codice_chius", $conn); 
                $riga3=mysql_fetch_array($risultato3);
            $risultato2=mysql_query("SELECT DISTINCT gruppo_assegn FROM modif_stato", $conn); 
                $riga2=mysql_fetch_array($risultato2);
            $cod_operatore="cod_operatore";
            $gruppoass="gruppoass";
            $assegnatario="assegnatario";
            $statomod="status";
            $codchiu="codicechiusura";
            $cod_operatore="";
            $strSQL12 = 'INSERT INTO modif_stato VALUES ( $riga11["id"],$data_oggi . $data_ora, $cod_operatore, $gruppoass, $assegnatario, $riga11["stato_attuale"],$statomod;)';
            $risultato = mysql_query($strSQL12,$conn);
            if($statomod=='RISOLTO'||$statomod=='ANNULLATO')
            {
                $strSQL13='UPDATE incident SET data_ris == $data_oggi . $data_ora WHERE id=$riga11["id"];';
                mysql_query($strSQL13,$conn);
                
            }
            else if($statomod=='CHIUSO')
            {
             $strSQL14='UPDATE incident SET cod_ch = $codchiu WHERE id=$riga11["id"];';
             mysql_query($strSQL14,$conn);
            }
    
             ?> 
    </div>
</div>
    
</body>
</html>

questi sn gli errori:

Notice: Undefined index: id_gest in C:\wamp\www\gestisci.php on line 9

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\gestisci.php on line 52

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\gestisci.php on line 75

che vuole da me?????
 
Stesso consiglio di sempre per le query.
Stampala prima di eseguirla e mettila direttamente nell'sql di phpmyadmin.
 
le query sn esatte, e funzionano in phpmyadmin.
le avevo già testate, ma gli errori vengono fuori cmq, vorrei solo che qualcuno mi controllasse il codice
 
Prova ad aggiungere:
PHP:
$risultato11 = mysql_query($strSQL11,$conn); //questa già c'è, l'ho messa solo per indicarti dove aggiungere la if.
if($risultato11 === FALSE) {
    die(mysql_error()); 
}
E vediamo se cambia qualcosa.
 
la situazione è leggermente migliorata cn ql controllo... ma....

ora nn mi valorizza x niente i campi dell'array che dovrebbe essere contenuto nella variabile $riga11, ma nn mi rileva un errore, semplicemente non mi stampa a video i dati che mi servono

PHP:
 <?php
                $strSQL11 = "SELECT incident.id, incident.data_ap1, modif_stato.stato_attuale, user_gruppo.competenza, modif_stato.assegnatario, modif_stato.gruppo_assegn, incident.priorita_segn, modif_STATO.data_mod FROM incident, modif_stato, user_gruppo WHERE incident.id = '$id_inc' AND incident.id = modif_stato.id_incid AND modif_stato.gruppo_assegn = user_gruppo.id_gruppo AND modif_stato.data_mod=(select max(data_mod) from modif_stato where modif_stato.id_incid='$id_inc');"; 
                $risultato11 = mysql_query($strSQL11,$conn); 
                if($risultato11 === FALSE) {
                 die(mysql_error()); }
                while($riga11= mysql_fetch_array($risultato11))
                {echo '<br/><br/><br/><br/>';
                echo '<h3 align="center"><i> ID:</i>' . $riga11["id"] . ' </h3> <br/> <h4 align="center">';
                echo '<i> Status:</i>' . $riga11["stato_attuale"] . '<br/><br/>';
                echo '<i>Gruppo assegnatario:<i/>' . $riga11["gruppo_assegn"] . '<br/><br/>';
                echo '<i>Data apertura:</i>' . $riga11["data_ap1"] . '<br/><br/>';
                echo '<i>Data ultima modifica:</i>' . $riga11["data_mod"] . '<br/><br/>';
                echo '</h4>';
                }
                ?>

sò che è una query un pò lunga, ma qll dovrebbe essere esatta
 
opsss

mi sn accorta che la query è sintatticamente esatta ma che in effetti non restituisce niente
ora la rivedo e poi post qll ke ne viene fuori
 

Discussioni simili