- Home
- Categorie
- Coding e Sistemistica
- PHP
- Da una stringa di parole ricavare N variabili
-
Da una stringa di parole ricavare N variabili
Supponiamo che in un campo del database io abbia questo testo:
parola1;parola2;parola3; ecc... non so a priori il numero di parole suddivise dal ; che ci sono.Riesco a suddividere le paroli con questa funzione:
$parolelink_loc = explode(";", $row[parolelink_loc]);
e poi per avere le varie parole basterebbe fare:
$p1 = $parolelink_loc[1]
$p2 = $parolelink_loc[2]ed avanti così.
Ma come faccio a sapere quanti $pi = $parolelink_loc* fare?
e se poi questi cambiano nella riga?
Mi servirebbe capire come fare per calcolare il numero di parole della stringa e poi con un ciclo for potrei generare le i variabili $pi che mi servono.Queste per capirci andranno a finire in una query
SELECT * FROM table WHERE parolalink=($p1 or $p2 or $pi)quindi il ciclo for lo devo inserire anche dentro la query sperano che ciò sia possibile.
Il mio scopo è richimare in unarecensione tutti gli articoli (e crearne il link) che hanno nel campo parolelink una delle parole che ci sono nella stringa.
In questo modo nella recensione del prodotto avrò automaticamente i link verso le recensioni di prodotti analoghi.Bello ed utile il sito.
-
Ciao albanopower, benvenuto
potresti provare una cosa così:
$parolelink_loc = explode(";", $row[parolelink_loc]); foreach($parolelink_loc as $p){ $where.="'$p'," } $sql="select * from table where parolalink in ($where'');
quindi in pratica non usi delle altre varibili ma nel ciclo assegni ogni valore dell'array a $p e memorizzi direttamente quella parte della query dentro a $where
Poi nota che nella query finale ho aggiunto '' per ovviare al fatto che la varibiale $where termina con una VIRGOLA. Potresti anche diminuire di 1 la dinsione della varibile $where
il codice non l'ho provato ma dovrebbe essere qualcosa di simile