ciclo while per aggiungere email estratte dalla tab1 alla tab2 di un db

  • Creatore Discussione Creatore Discussione amhal
  • Data di inizio Data di inizio

amhal

Utente Attivo
17 Feb 2011
89
1
8
Ciao a tutti sono nuovo in questo forum e sono "nuovo" nel php!! ecco il mio problema:

ho creato un form che invia dati alla tab1 di un db( nome, cognome, email etc), poi ho creato la select per tirare fuori i dati ( fino qui tutto bene ), al ciclo while che estrapola i dati ho aggiunto un campo checkbox da spuntare con valore = id della tab1...
posto il codice:

echo <<<tab
<table class="db">
<tr>
<th width="20px">N.</th>
<th width="168px">nome</th>
<th width="168px">cognome</th>
<th width="80px">telefono</th>
<th width="60px">cellulare</th>
<th width="150px">email</th>
<th width="20px">sel.</th>
</tr>
</table>
tab;


while (($row_data = @$result->fetch_assoc())!== NULL)




echo <<<blocco
<table>
<tr>

<td width="20px" align="center"> {$row_data['tessera']} </td>
<td width="168px"> {$row_data['nome']} </td>
<td width="168px">{$row_data['cognome']}</td>
<td width="80px" align="center">{$row_data['telefono']}</td>
<td width="60px" align="center">{$row_data['cellulare']}</td>
<td width="150px" align="center">{$row_data['email']}</td>
<td width="20px"> <input type="checkbox" name="selezione" value="{$row_data['id']}" /></td>


</tr>
</table>

blocco;

ora vorrei aggiungere alla 2a tab dello stesso db solo le email con la casella checkbox spuntata!!! ma non so come fare.. il db creato ha Engine =INNODB (nn so se può essere utile).

Grazie in anticipo
:crying:
 
ciao
intanto una cosa, vedo che hai messo una cb, ma non vedo il tag form ed il submit per l'invio? ti sei dimenticato di scriverlo nel post o proprio non c'è?
poi se non ho capito male tu presenti una lista di email da tabella tab1 con accanto un cb, e vuoi selezionarne alcuni e scriverle nella tabella tab2. devi fare uno spostamento, cioè cancellarle da tab1 e sciverle su tab2 o solo scriverele su tab2 senza cancellarle da tab1?
aspetto, poi ti posto qualcosa
 
Ciao intanto grazie per il tuo intervento,
il tag form e submit sono presenti, non li ho inseriti nel quote, poi non devo cancellare le mail dalla tab1, devo solo scriverle sulla tab2 per poi inviare una newsletter.

grazie infinite

0:)
 
ciao
ti mando un'idea, provala e guarda se funzia.
l'ho scritta col mio stile, se vuoi usare la sintassi EOD ci pensi tu

pag del form di ceccatura
PHP:
<form action="tua_pagina.php" method="post" name="trasporta">
<table>
<?php
while (($row_data = @$result->fetch_assoc())!== NULL)
?>
<tr>
<td width="20px" align="center"><?php echo $row_data['tessera'];?></td>
<td width="168px"><?php echo $row_data['nome'];?></td>
<td width="168px"><?php echo $row_data['cognome'];?></td>
<td width="80px" align="center"><?php echo $row_data['telefono'];?></td>
<td width="60px" align="center"><?php echo $row_data['cellulare'];?></td>
<td width="150px" align="center"><?php echo $row_data['email'];?></td>
<td width="20px"> <input type="checkbox" name="selezione[<?php echo $row_data['id'];?>]" value="<?php echo $row_data['id'];?>" /></td>
</tr>

<?php
}//fine del while
?>
<tr>
<td width="20px" align="center">&nbsp;</td>
<td width="168px">&nbsp;</td>
<td width="168px">&nbsp;</td>
<td width="80px" align="center">&nbsp;</td>
<td width="60px" align="center">&nbsp;</td>
<td width="150px" align="center"><input name="invia" type="submit" id="invia" value="invia"></td>
<td width="20px">&nbsp;</td>
</tr>
</table>
</form>
pagina tua_pagina.php
PHP:
<?php
if(isset($_POST['invia'])){
	unset($_POST['invia']);//tolgo dall'array glogale l'invio (submit)
	$da_trasferire=$_POST;//qui ci dovrebbero essere i valori delle email checcate
	if(is_array($da_trasferire)){//verifico, se non è un array non ho ceccato nulla
		// parametri per la connessione al db
		foreach($da_trasferire as $valore){//ciclo i post delle checbox
			//estraggo i dati dalla tab1
			$query=mysql_query("SELECT * FROM tab1 WHERE id='$valore'");
			$riga=mysql_fetch_array($query);
			//e scrivi in tab2
			//tengo separata la query stringa per capici meglio
			$query_str="INSERT INTO tab2(
			tessera, nome, cognome, telefono, cellulare, email)
			VALUES('".
			$riga['tessera']."', '".
			$riga['nome']."', '".
			$riga['cognome']."', '".
			$riga['telefono']."', '".
			$riga['cellulare']."', '".
			$riga['email']."')";
			$query_ins=mysql_query($query_str);
		}//fine del foreach
	}else{
		//non è un array: quindi non ho ceccato nessun indirizzo email
		//qui reindirizzi a dove vuoi tu
	}
	//qui reindirizzi a dove vuoi tu
}
?>

dimanticavo: guarda che l'ho buttata giù in fretta, mi posso essere dimenticato qualcosina
 
scusa il ritardo nel farti sapere ma ho potuto solo oggi!!!

FUNZIONAAAAAAAAAAA

grazie tante

:fonzie:
 

Discussioni simili