- Home
- Categorie
- Coding e Sistemistica
- Coding
- Query per una textarea
-
Query per una textarea
Salve ragazzi...non so come realizzare una query così strutturata:
- ho un form con una textarea;
- all'interno di questa metto delle parole, una per ogni riga
- devo far in modo da leggere ciascuna riga e confrontarla con una tabella del db per verificare se già esiste o meno...
Come fare?
Supponiamo che faccio la query che legge tutti i campi presente nella tabella desiderata,
facci un mysql_fech_array, metto un while e scansione elemento per elemento...Ma come faccio a leggere i campi della textarea riga per riga e a far il confronto?
Grazie!
-
Ciao felino, potresti usare un separatore per capire le righe ad esempio una virgola, ogni virgola è una riga, quado mandi il modulo del textarea fai un explode("," , $stringa) e dividi la stringa, dopo di che procedi con l'analisi...
-
Ho fatto il seguente codice:
$elenco = array(); $row=explode("\n", $_POST['textarea']); foreach($row as $ciccio){ $value = trim($ciccio); $elenco[$value] = '' . $value . ''; }Ma come faccio a scorrere il contenuto di $elenco?
-
Puoi usare foreach, ma non fai prima a fare le operazioni direttamente li senza metterli un altro array?
-
Prova cosi:
[php]
$array=explode("\n",$_POST['textarea']);while($row=mysql_fetch_array($query))
{
foreach($array as $row['campo'] )
{
// istruzioni da iterare
}
}
[/php]
-
Ma se scrivo questa istruzione:
[php]foreach($array as $row['campo'] )[/php]
io sto solo associando il valore i-esimo dell'array a $row['campo'] no?
Oppure sto facendo un confronto?
-
Ciai ragione scusa!, allora fai un seplice ciclo for al interno del while e con il contatore ti sposti l'indice della variabile $array, metti un if per vedere se sono uguale ed il gioco è fatto!!!
-
Ragazzi..diciamo che ho quasi risolto, ma qualcosina ancora non va:
se inserisco come prima voce un campo che e' già presente nel database mi dice che c'è ed è ok!
Ma se inserisco 2 voci già presenti nel database, per la prima mi dice che c'è, mentre la seconda non riesce a trovarla?!?!Praticamente la query la faccio direttamente con il campo che ho inserito nella textarea,
vi posto il codice:[PHP]
$elenco = array();
$array=explode(chr(13),$_POST['textarea']);foreach($array as $row['campo'] ) {
$campo=$row['campo'];
echo "- ".$campo."<br>";
$query= mysql_query("SELECT email FROM email WHERE email='$campo' ");
$email=mysql_fetch_array($query);
if($email[0]!=""){
} else {
echo $row['campo']." non c'è;<br>";
}unset($campo);
unset($query);
unset($email);
}
[/PHP]Grazie!
-
Ho capito ove sta il problema ma non so come risolverlo:
$array=explode(chr(13),$_POST['textarea']);
nel chr(13), stesso problema se metto "<br>" oppure "\n".ed inserisco i campi nella textarea come:
nome1
nome2
nome3se invece metto:
$array=explode(";",$_POST['textarea']);
ed inserisco nella textarea:
nome1;nome2;nome3;
funzia il tutto correttamente...come risolvere?
-
Prova cosi:
[php]
$array=explode("\r\n",$_POST['textarea']);
[/php]
-
Ragazzi...davvero un grazie a tutti voi, grazie ai vostri piccoli suggerimenti ci sono riusciti.
Posto il codice nel caso possa servire anche a qualcun'altro:
[PHP]
$elenco = array();
$array=explode("\r\n",$_POST['textarea']);$count=0;
foreach($array as $row['campo'] ) {
$campo=$row['campo'];
$query= mysql_query("SELECT email FROM email WHERE email='$campo' ");
$email=mysql_fetch_array($query);
//echo $email[0]."+++++++++++++<br>";
if($email[0]!=""){
} else {
echo $row['campo']."; ";
$a=mysql_query("INSERT INTO email (email) VALUES("$campo")") or die (mysql_error());
$count=$count+1;
}unset($campo);
unset($query);
unset($email);
}
[/PHP]Felino!