Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wklejenie kodu w kod
tomek1973
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 14.03.2009

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


Mam dwa fragmenty kodu:


$allz = mysql_query(' SELECT COUNT(DISTINCT id_zawodnika) as wszyscy_uczestnicyz
FROM `zawody_x`
WHERE `cykl` = "'.$row_ally['cykl'].'"
');

while($row_allz = mysql_fetch_array($allz))
{echo '<td class="m11" rowspan=2>'.$row_allz['wszyscy_uczestnicyz'].'</td></tr>';}


oraz



$ally = mysql_query(' SELECT DISTINCT `cykl`
FROM `zawody_x`
');

while($row_ally = mysql_fetch_array($ally))
{echo '<tr><td class="m11">'.$row_ally['cykl'].'</td>

<td>TUTAJ</td>




Chcę wstawić pierwszy fragment kodu w miejsce słowa "TUTAJ" w drugim fragmencie.
NIestety próbuję na różne sposoby i nie udaje się.

Bardzo proszę o pomoc.
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




troche to zagmatwane... może:

  1. <?php
  2. $allz = mysql_query(' SELECT COUNT(DISTINCT id_zawodnika) as wszyscy_uczestnicyz
  3. FROM `zawody_x`
  4. WHERE `cykl` = "'.$row_ally['cykl'].'"
  5. ');
  6.  
  7. $ally = mysql_query(' SELECT DISTINCT `cykl`
  8. FROM `zawody_x`
  9. ');
  10.  
  11. while($row_ally = mysql_fetch_array($ally))
  12. {echo '<tr><td class="m11">'.$row_ally['cykl'].'</td></tr>';
  13.  
  14. while($row_allz = mysql_fetch_array($allz))
  15. {echo '<tr><td class="m11" rowspan=2>'.$row_allz['wszyscy_uczestnicyz'].</td></tr>;}
  16. ?>


Ten post edytował piotrooo89 3.04.2009, 08:05:48
Go to the top of the page
+Quote Post
snake781
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 2.04.2009

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


Nie wnikając, w to, że zupełnie nie oddzielasz php od HTML-a i w sumie stąd zagubienie się w jasności co gdzie, proponuję tylko małą modyfikację (choć sama napisałabym to całkiem inaczej ... zresztą nie wiem, dlaczego pomiędzy <td> i </td> wstawiasz powtarzalnie takie cosie: <td .... </td></tr> - ni to pies ni wydra, nawet nie wiem, czy chcesz wiersze dodawać czy tylko pola.

Ale abstrahując zamiast w pierwszej części pluć prosto do przeglądarki przez echo - wrzucaj sobie do zmiennej, którą w drugim fragmencie wyplujesz.

  1. <?php
  2. $allz = mysql_query(' SELECT COUNT(DISTINCT id_zawodnika) as wszyscy_uczestnicyz
  3. FROM `zawody_x`
  4. WHERE `cykl` = "'.$row_ally['cykl'].'"
  5. ');
  6.  
  7. while($row_allz = mysql_fetch_array($allz))
  8. {
  9. $ta_zmienna_co_to_ja_wymyslilam.= '<td class="m11" rowspan=2>'.$row_allz['wszyscy_uczestnicyz'].'</td></tr>';}
  10.  
  11.  
  12. oraz
  13.  
  14.  
  15.  
  16. $ally = mysql_query(' SELECT DISTINCT `cykl`
  17. FROM `zawody_x`
  18. ');
  19.  
  20. while($row_ally = mysql_fetch_array($ally))
  21. {echo '<tr><td class="m11">'.$row_ally['cykl'].'</td>
  22.  
  23. <td>'.$ta_zmienna_co_to_ja_wymyslilam.</td>
  24. ?>


Pozdrawiam,
Nela
Go to the top of the page
+Quote Post
tomek1973
post
Post #4





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 14.03.2009

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


Może wyjaśnię o co mi chodzi, bo chyba troszkę pokręciłem:



Mam kolumnę o nazwie `cykl`
W niej jakieś dane:
a
b
c
c
b
a
a
b
b
b
b
a

Chcę je wyświetlić w tabeli:

a - 4 razy
b- 6 razy
c- 2razy


Teraz mój kod:


$ally = mysql_query(' SELECT DISTINCT `cykl`
FROM `zawody_x`
');

while($row_ally = mysql_fetch_array($ally))
{echo '<tr><td class="m11">'.$row_ally['cykl'].'</td>



wypisuje on po kolei wszsystkie wartości z kolumny cykl, czyli:

a
b
c


dalej:


<td>

'.{$alla = mysql_query(' SELECT COUNT(DISTINCT id_zawodnika) as wszyscy_uczestnicyz
FROM `zawody_x`
WHERE `cykl` = "'.$row_ally['cykl'].'"
');

$row_alla = mysql_fetch_array($alla);
echo 'aaaaa'.$row_alla['wszyscy_uczestnicyz'].'aaa';
}.'


</td>


ten fragment kodu w kolumnie obok (stąd znaki <td></td>) ma wyświetlić wartości:

4
6
2

W tym miejscu musi się zmieniać wartość: WHERE `cykl` = "'.$row_ally['cykl'].'"


W całości wymyśliłem to w ten sposób:

<table width=600 bgcolor=#EFDFDF border=4>
<tr><td class="m11" colspan=6>
Kolejna</td></tr>

<?

$ally = mysql_query(' SELECT DISTINCT `cykl`
FROM `zawody_x`
');

while($row_ally = mysql_fetch_array($ally))
{echo '<tr><td class="m11">'.$row_ally['cykl'].'</td>

<td>

'.{$alla = mysql_query(' SELECT COUNT(DISTINCT id_zawodnika) as wszyscy_uczestnicyz
FROM `zawody_x`
WHERE `cykl` = "'.$row_ally['cykl'].'"
');

$row_alla = mysql_fetch_array($alla);
echo 'aaaaa'.$row_alla['wszyscy_uczestnicyz'].'aaa';
}.'


</td></tr>';}

?>

</table>





Jednak nie działa
Go to the top of the page
+Quote Post
snake781
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 2.04.2009

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


Ok. To tak ... tak prosty wynik powinienes wyciągać z bazy jednym query.
Nie ma potrzeby komplikować sobie życia.

Potem lecąc po wierszach wyniku lecisz równo po wierszach pokazywanej
tabelki. Może być na przykład tak (sorry jeśli query nie do końca poprawne -
mysql-a nie używam ... tylko postgresql-a):

  1. <?php
  2. $allz = mysql_query(' SELECT cykl, COUNT(DISTINCT id_zawodnika) as wszyscy_uczestnicyz
  3. FROM `zawody_x`
  4. GROUP BY cykl
  5. ');
  6.  
  7. while($row_allz = mysql_fetch_array($allz)) {
  8.       $wiersze_tabeli.= '<tr><td>'.$row_allz['cykl'].'</td><td>'.$row_allz['wszyscy_uczestnicyz'].' - razy</td></tr>';
  9. }
  10.  
  11. if (!empty($wiersze_tabeli)) // tak na wszelki wypadek
  12.        echo '<table>'.$wiersze_tabeli.'</table>';
  13. ?>


Pozdrawiam,
-Nela
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 - 13:08