Solito dannato ciclo

Monital

Utente Attivo
15 Apr 2009
778
2
18
Salve a tutti,
chiedo venia per l'ennesimo quesito su di un ciclo,è una cosa che proprio fatica ad entrarmi nel cervello.

vengo al sodo

PHP:
$file = 'ciao.txt';
    

$data = file($file);
$chiave="Ciao";

foreach($data as $i => $riga)
{
if (strstr($riga,$chiave)){
 	
        $d1= $data[$i +1];
		$d2 = $data[$i + 2];
        $d3 = $data[$i + 3];
        $d4 = $data[$i + 4];
        $d5 = $data[$i + 5];
        $d6 = $data[$i + 6];
        $d7 = $data[$i + 7];
        $d8 = $data[$i + 8];
    }

}

con questo script cerco una determinata parola e leggo le 8 righe successive all parola cercata.
Come avete notato le righe lette sono 8 ma se invece dell'8 vorrei isnerire una variabile che può esse pure 50

com posso fare a creare un ciclo?

Cortesemente potete anche spiegarmi in modo terra,terra, sta cosa del ciclo?ù

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
puoi provare così

PHP:
<?php
$file = 'ciao.txt';
$data = file($file);
$chiave="Ciao";
$d=array();//per prima cosa creerei un array $d al posto di $d1, $d2 ecc...
$quanti=50; //o quello che ti serve
foreach($data as $i => $riga){
	if (strstr($riga,$chiave)){
		for($k=1; $k <= $quanti; $k++){//se vuoi partire da 1 sino, in questo caso, a 50
        	$indice=$i+$k
			$d[$indice]= $data[$indice]; //questo per mantenere la corrispondenza es. $d[33]=$data[33]
		}
    }
}
?>

se $quanti si riferisce alla lunghezza della stringa testo
$quanti=strlen($data);
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Geniale

devo tenere a mente i commenti anche perchè alla fine dovrebbe essere smpre quello il concetto

Grazie :beer:

Sopratutto della rapidità

sono che ci sono

se il risultato di quest'array vorrei inserirlo nel database Mysql?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao

PHP:
<?php
//....
//$d[$indice]
foreach($d as $valore){
	$query="INSERT INTO tabella(pinco) VALUE('".$valore."')";
	mysql_query($query);
}
//....
?>
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
sei un grande :cool:

dato che mi servirà ancora una mano su questo file txt posso postare sempre qui o apro un altro thread?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
ciao

PHP:
<?php
//....
//$d[$indice]
foreach($d as $valore){
	$query="INSERT INTO tabella(pinco) VALUE('".$valore."')";
	mysql_query($query);
}
//....
?>

c'è una cosa che non capisco non inserisce

allora dopo il codice da te gentilmente modificato ho aggiunto una stringa

PHP:
			$sq=trim(str_replace($k."=","",$d[$indice])); //toglie il numeretto davanti il nome della squadra


echo $sq." <br />";

perchè in $d c'era 1=parola (fino a $qaunti) e voglio togliere quel '1='

quando vado ad inserire nel database però mi inserisce ovviamente tuta la stringa ma lavorando fuori dal foreach non mi riconosce più $sq

PHP:
foreach($sq as $valore){

mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName");

    $query="INSERT INTO tabella VALUE('','".$valore."','".$k."','eastern')";
    mysql_query($query);
} 	
}

in rpatica usando foreach($das $valore){ mi inserisce tutta la stringa e $k mi da l'ultimo valore +1 cm più di k il problema è la stringa. Avevo già affrontato questo problema ne sono sicuro(quasi).

Difatti sono sciuro che dipende dal foreach precedente che una volta chiusa la prentesi del foreach il dato resta lì.

0:)
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Risolto inserendo dopo

PHP:
 $sq=trim(str_replace($k."=","",$d[$indice]));

l'inserimento
PHP:
  $query="INSERT INTO tabella VALUE('','{$sq}','{$k}','$comp')";
    mysql_query($query);

e sopratutto aprendo la connessione al databse prima del foreach. Già una volta mi fece sto scherzo.

:beer:
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [MySQL] Solito errore #1064 con poca comprensione MySQL 14
V Diverse impostazioni css per solito tag HTML e CSS 5
C Effetto zoom nello stesso riquadro dell'immagine (diverso dal solito) HTML e CSS 8
borgo italia solito avviso Discussioni Varie 2
Frank10 Problemino con il menu fisso in fondo pagina ed il solito, explorer HTML e CSS 10
P Il solito sito mio, che ne pensate? Presenta il tuo Sito 4
B Completare il seguente ciclo affinché stampi tutto l’array al contrario PHP 3
W MySQL ciclo in SELECT MySQL 0
E Inviare variabile a PHP da ciclo in JS Javascript 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
motleyrulez Aiuto con un ciclo PHP 0
B [PHP] formula e ciclo PHP 5
M [PHP] Come inserire codice html in un ciclo while PHP 2
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
G [PHP] totale per ogni id di un ciclo PHP 1
P Incrementare nodo in ciclo for-each XML 6
S [PHP] Ciclo foreach su più array PHP 2
M UPDATE non aggiorna db se lo inserisco in un ciclo Database 1
N [PHP] Controllare condizione ciclo While PHP 9
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
N [PHP] Registrare variabili all'interno di un ciclo PHP 3
MattiaBL [PHP] Problema ciclo while PHP 3
V Ciclo for per Pulsante in JavaScript Javascript 7
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
C [PHP] Ciclo for dinamico PHP 14
gandalf1959 [PHP] query all'interno di un ciclo while PHP 3
Z [PHP] ciclo for PHP 9
valvasori [PHP] Problema ciclo for PHP 12
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
H [PHP] Ciclo per calcolare i chilometri PHP 4
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
gandalf1959 [PHP] ciclo while non scrive dove dovrebbe... PHP 2
Monital [PHP] ciclo su un file json molto grande PHP 1
M [PHP] Errore in ciclo foreach PHP 1
O Ciclo non visualizzato PHP 1
M problema ciclo javascript Javascript 4
G Ciclo if php per far comparire un pulsante solo nel caso in cui una variabile sia 0 PHP 2
F Problema codice in un ciclo while PHP 2
T ciclo $.each non va jQuery 4
V Generare array da ciclo while e prendere valori casuali PHP 4
I tabella con ciclo, recupero dati PHP 3
Monital Problema con un ciclo for. PHP 1
M Problema con ciclo foreach per chiusura apertura div in base al numero di record in database PHP 1
S Ciclo PHP molto complesso PHP 2
minatore Ciclo while PHP 3
D ciclo while mi genera due campi vuoti PHP 5
K Problema con update di un database in un ciclo Classic ASP 1
P JAVA 8 Ciclo For all'interno di un altro Ciclo For Java 3
B ciclo in PHP per creare numero progressivo PHP 2

Discussioni simili