Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    63

    Recuperare dati da una tabella php

    Salve a tutti il mio problema è il seguente:

    Dopo che faccio il login ad un sito mi reco nella pagina rubrica dove con uno script php apro una sessione al db invio una query al db per selezionare i record che mi servono successivamente mi creo, utilizzando una heredoc, un form con dentra una tabella. Poi faccio un ciclo per stampare i risultati della query nella tabella. Ogni record e formato da un campo: Email,Nome,CognomeIndirizzo,Telefono, da una select dove posso selezionare la visibilità di ogni record
    (contatto presente in rubrica esempio posso scegliere protetto,privato,pubblico etc) e in più vi è un input di tipo submit per ogni record che serve per cancellare il record(contatto).

    PROBLEMA 1:

    come faccio recuperare la singola riga(contatto) che voglio cancellare?
    Esempio se clicco cancella potrei andare in un altra pagina effettuare una query dove attraverso l'email del contatto posso cancellarlo dal database e poi ristampare la tabella....Quindi come faccio per recuperare il contenuto dell'email dato che la tabella viene fatta con php e quindi come faccio per riferirmi alla corrispettiva riga?


    PROBLEMA 2

    Quando seleziono (dalla select) la visibilità che voglio impostare per uno a più contatti , poi faccio salva per salvare le modifice effettuate hai contatti.....come faccio per recuperare le righe dove e stata cambiata la visibilità?


    Grazie mille in anticipo e mi scuso se il testo dovesse risultare poco comprensibile......

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    E' buona norma fornire ogni tabella in database di un campo id univoco intero autoincrementato che faccia da chiave primaria.
    Poi altra cosa importante noi non abbiamo idea di come sia strutturata la tua tabella, e come si presenta l'interfaccia.
    Visto che non hai nominato ajax penso che il tasto cancella sia un submit che ti porta alla pagina di cancellazione, e fatta tale operazione ti fa ritornare alla pagina da cui sei venuto. Ovviamente tornando alla pagina di partenza rileggi dal database i record e quelli cancellati non ci sono più.
    Altra cosa che suppongo la tabella si chiama users e la pagina con la visualizzazione degli utenti si chiama listuser.php.
    Fatte le dovute premesse e supposizioni per risolvere interamente in php potresti creare il pulsante di submit per la cancellazione in un form del tipo

    listuser.php
    Codice PHP:
    <form action='deleteuser.php' method='post'>
        <
    input type='hidden' name='iduser' value='$id' />
        <
    input type='submit' value='Cancella' />
    </
    form
    A questo punto in deleteuser.php non dovresti far altro che intercettare il valore inviato dal form, fare la query di cancellazione:
    codice:
    "delete from users where id=".$_POST['iduser'];
    E fare il redirect alla pagina listuser.php con:
    Codice PHP:
    header("location: listuser.php"); 
    Se invece invece insisti per usare il campo email le modifiche sono minime e scontate.

    Per intercettare il cambiamento dell'option selezionata nella select serve javascript o jquery e potresti anche fare le modifiche man mano che cambi selezione dalla select. Io ti spiego questo modo perchè è il più rapido.

    listuser.php
    Codice PHP:
    <form action='updatestateuser.php' name='fms' method='post'>
        <
    input type='hidden' name='iduser' value='$id' />
        <
    select onchange='modifystate()' class='stato' name='stato'>
        </
    select>
    </
    form
    Nella parte javascript fai qualcosa del tipo
    codice:
    function modifystate(){
       document.fms.submit();
    }
    in updatestateuser.php fai la query...
    codice:
    "update user set state = '" .$_POST['stato'] ."' where id=".$_POST['iduser']
    e il solito redirect
    Codice PHP:
    header("location: listuser.php"); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    63
    Ciao grazie per avermi risposto allora prima cosa ho modificato l struttura della tabella aggiuggendo:
    ll
    id_Num int not null AUTO_INCREMENT,
    UNIQUE(id_Num)

    Ora sto facendo la cancellazione dei contatti solo che ho un piccolo problema cioè quando clicco su cancella caontatti della prima riga non mi reindirizza alla pagina cancellaContatti.php invece se clicco dalla seconda riga i su il reindirizzamento funziona.
    Come mai?

    Ti posto il codice:

    codice:
    		$table = <<<ENDHTML
    		<div style="text-align: center;">
     		<h2>Rubrica</h2>
     		<table border="1" cellpadding="2" cellspacing="2"
      		style="width: 70%; margin-left: auto; margin-right: auto;">
    		<form method="post">  		
      		<tr>
    			<th>Nome</th>
    			<th>Cognome</th>
    			<th>Telefono</th>
    			<th>Cellulare</th>
    			<th>Fax</th>
    			<th>Citta</th>
    			<th>Indirizzo</th>
    			<th>SitoWeb</th>
    			<th>Visibilita</th>
    			<th>Seleziona Visibilita</th>			
    			<th>Cancella Contatti</th>
      		</tr>
    ENDHTML;
    
    // loop through the results
    while ($row = mysql_fetch_assoc($result)) {
        extract($row);
        $table .= <<<ENDHTML
    		<tr>
    			<td>$Nome</td>
    			<td>$Cognome</td>
    			<td>$Telefono</td>
    			<td>$Cellulare</td>
    			<td>$Fax</td>
    			<td>$Citta</td>
    			<td>$Indirizzo</td>
    			<td> $SitoWeb </td>
    			<td>$Visibilita</td>			
    			<td><select id="visibilita" name="visibilita">
    					<option value="PUBBLICA"> PUBBLICA </option>
    					<option value="PRIVATA"> PRIVATA </option>
    					<option value="PROTETTA"> PROTETTA </option>
    				 </select>				  				
    			</td>			
    			<td>
    			<form id="canc" method="post"  action="cancellaContatto.php">			
    			<input type='hidden' name='iduser' value="$id_Num"/> 			
    			<input type="submit" value="Cancella Contatto"/>
    			</form>			
    			</td>
    		</tr>	
    ENDHTML;
    }
    
    $table .= <<<ENDHTML
    		
    			<input type="submit" value="Salva Modifiche"> </input>
    			
    		
    	</form>
     </table>
    </div>
    ENDHTML;
    
    echo $table;

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.