Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 2 pętle, multiple foreach i insert do SQL
Aquarius
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.10.2008

Ostrzeżenie: (0%)
-----


witam,
od rana siedzę przy tym, ale niestety siedzę w czarnej... a w google nie znalazłem nawet podobnego problemu aby zaczęrpnąć jakichś wskazówek, sytuacja wygląda następująco, mam pewną pętlę z jakąś ilością liczb i liter
dajmy na to Array $a
chcę aby każde z tych oznaczeń z pętli został dodany do każdej frazy z innej pętli, robiłem to więc w ten sposób:
  1. foreach ($a as $i) {
  2. $model = "'accord$i', 'civic$i', 'prelude$i', 'cr-v$i', 'astra$i', 'vectra$i'";
  3. }


dotąd wszystko gra, ale mam też jeszcze jedną pętlę, dajmy na to Array $b
o powiedzmy takiej zawartości:
  1. $marka = "'honda', 'honda', 'honda', 'honda', 'opel', 'opel'";


chciałbym to wszystko dodać do bazy w ten sposób aby oczywiście każdy rekord z $marka odpowiadał temu z $model, bo oczywiście ich ilość jest taka sama w każdej pętli, w jaki sposób mógłbym to zrobić?
domyślam się że muszę wykonać kolejne foreach, problemem jest tylko zmienna $i która jest dopisywana do elementów z pierwszego foreach

Ten post edytował Aquarius 11.09.2012, 13:34:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
pehaperowiec
post
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 8
Dołączył: 26.09.2011

Ostrzeżenie: (10%)
X----


a nie prościej użyć pętli while i w tej pętli łaczyć ze sobą elementy tych dwóch tablic a później je zapisywac?
Go to the top of the page
+Quote Post
jacobson
post
Post #3





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

Ostrzeżenie: (0%)
-----


a moze

  1. for($i=0;$i<sizeof($model);$i++){
  2.  
  3. $wynik = $model[$i] . $marka[$i];
  4.  
  5. }


mozesz jeszcze przed tym sprawdzac czy na pewno obie tablice maja tyle samo elementow
Go to the top of the page
+Quote Post
pehaperowiec
post
Post #4





Grupa: Zarejestrowani
Postów: 91
Pomógł: 8
Dołączył: 26.09.2011

Ostrzeżenie: (10%)
X----


1) While jest szybsze od fora
2) Sprawdzanie rozmiaru tablicy z każdym powtórzeniem pętli jest niewydajne
3)
Cytat
mozesz jeszcze przed tym sprawdzac czy na pewno obie tablice maja tyle samo elementow
Algorytm jest błędny...
Go to the top of the page
+Quote Post
Aquarius
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.10.2008

Ostrzeżenie: (0%)
-----


EDIT
działa pięknie, wystarczyła krótka pętla while (IMG:style_emoticons/default/smile.gif)
  1. $r=0;
  2. while($r < count($model)) {
  3. echo $marka[$r]." - ".$model[$r].", ";
  4. $r++;


Ten post edytował Aquarius 11.09.2012, 15:20:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:08