-
Problema ciclo for
Non so se il titolo è inerente, perchè non so nemmeno se quel ciclo è inerente. Ciò che ho necessità di fare è cercare un nome e un cognome (quindi due stringhe) all' interno di una pagina, o meglio, se in una pagina non lo trova (dove c'è una variabile che stabilisce l' id), tenta con altri id fino a 10000. Se al 10000° id non trova nulla dice che non l' ha trovato, altrimenti dice che l' ha trovato. Avevo buttato giù questi codici probabilmente errati:
Codice PHP:
<?
$nome = ucfirst(htmlspecialchars($_GET['nome']));
$cognome = strtoupper(htmlspecialchars($_GET['cognome']));
$content = file_get_contents("http://www.notariato.it/it/utilita/scheda_notaio.html?idn=1&pageIndex=null");
$count_nome = substr_count($content, $nome);
$count_cognome = substr_count($content, $cognome);
if($count_nome == 0 && $count_cognome == 0) {
for($i = 1; $i <= 10000; $i++) {
$content2 = file_get_contents("http://www.notariato.it/it/utilita/scheda_notaio.html?idn={$i}&pageIndex=null");
$count_nome2 = substr_count($content2, $nome);
$count_cognome2 = substr_count($content2, $cognome);
if($count_nome2 == 0 && $count_cognome2 == 0) {
echo 'Nessun notaio trovato.';
} else {
echo 'Notaio trovato!';
}
}
} else {
echo 'Notaio trovato!';
}
?>
Nel link: http://www.notariato.it/it/utilita/...otaio.html?idn={$i}&pageIndex=null dopo idn ci va l' id (quello che deve esser max. 10000). Il problema dunque è il seguente: la pagina non si carica neanche, quindi sicuramente c'è un errore nel ciclo..
-
Fare 10000 query ad un altro sito è una demenza. Se stai cercando di ricreare una funzionalità di ricerca che esiste già sull'altro sito, manda i tuoi utenti ad esso.
-
Secondo me è quell'i++ che non funziona... Io solitamente con WHILE aggiungendo 1 ad un dato lo metto dopo il ciclo, quindi nel tuo caso dopo $count_cognome2 = substr_count($content2, $cognome); oppure toglilo completamente per fare una prova. Calcola che ho 13 anni.
Sicuramente sto dicendo una cavolata, ma voglio imparare anch'io.
Ciao ciao!
-
dread ciò che sto cercando di fare è una cosa per semplificare, praticamente devo scrivermi a mano tutti i numeri di una lista di notai che devo quindi cercare manualmente sul sito, trovarli, scrivere i numeri e tornare a fare la ricerca. Se riuscissi a farlo in php mi basta scrivere nome e cognome e lui troverà il numero, lo inserisce nel db, poi viene richiamato in una tabella pronta per la stampa.