Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wklejenie kodu w kod
Forum PHP.pl > Forum > Przedszkole
tomek1973
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.
piotrooo89
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. ?>
snake781
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
tomek1973
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
snake781
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.