Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pętla wyniki na stałe i znikające...
Forum PHP.pl > Forum > Przedszkole
primo
Witam,

mam następujący problem:

[php:1:787830f262]<?php
$lacz = lacz_bd();
if (!$lacz)
return 'Poł±czenie z serwerem bazy danych niemożliwe - proszę spróbować póĽniej.';
$wynik = mysql_query ("SELECT * FROM filmy ORDER BY id DESC LIMIT 0,6;");
?>[/php:1:787830f262]

to zapytanie zwraca mi 6 filmów, jako aktywne linki, po kliknięciu pod spodem pokazuje mi się recenzja itp. ale powyższe 6 wyszukanych filmów zostaje.. http://divideo.com.pl/index.php?op=2

[php:1:787830f262]<?php
$lacz = lacz_bd();
if (!$lacz)
return 'Poł±czenie z serwerem bazy danych niemożliwe - proszę spróbować póĽniej.';
$zapytanie = "select * from filmy where ".$metoda_szukania." like '%".$wyrazenie."%'";
$wynik = mysql_query($zapytanie);
?>[/php:1:787830f262]

to podobny przypadek z tym, że z wyszukiwarką poprzez formularz, wpisz tytuł i już... jednakże np. jak zwróci mi np. 4 tytuły i kliknę jeden z nich aby pod spodem zobaczyć szczegółową recenzję to z tej tabeli z tytułami wszystko znika, sądzę że nie jest to przyczyna pętli, bo próbowałem już i z for i while ale bez rezultatu... http://divideo.com.pl/index.php?op=10

co z tym da się zrobić

jak coś to mogę klepnąć cały kod

pozdrawiam
rzseattle
Poszukaj naq forum informacji o register_globals.
sztosz
Jeśli chodzi o register globals, to w php.ini musi być ustawione

Kod
REGISTER_GLOBALS ON


jeżeli chcesz używać zmiennych jako

[php:1:6a376a5cca]<?php

$zmienna;

?>[/php:1:6a376a5cca]

Jeżeli register_globals jest ustawione na off (domyślnie) od wersji php 4.1.0 to musisz tak ustawiać zmienne

[php:1:6a376a5cca]<?php

$_POST['zmienna'];

//albo

$_GET['zmienna'];

?>[/php:1:6a376a5cca]

Istnieje jeszcze możliwość

[php:1:6a376a5cca]<?php

$HTTP_POST_VARS['zmienna'];

//albo

$HTTP_GET_VARS['zmienna'];

?>[/php:1:6a376a5cca]

Ale podobno w pózniejszych wersjach php może ona przestać być obsługiwana.

Czy get czy post to zalerzy od tego co chcesz zrobić.

Register_globals jest domyślnie wyłączone ze względów bezpieczeństwa.
primo
oj chyba jednak nie o to mi chodziło...

poniżej cały kod:

[php:1:853a91ef39]<?php

<td class="center">

<table border="0" cellpadding="0" cellspacing="5" class="inside">
<tr>
<td class="white"><h6 align="left">ZnajdĽ to co Cię najbardziej interesuje...</h6><div class="szukaj"><form action="index.php?op=10" method="post">
<p align="left">Wybierz metodę wyszukiwania:<br />
<select name="metoda_szukania">
<option value="tytul_pl">Tytuł polski
<option value="tytul_ang">Tytuł angielski
<option value="rezyseria">Reżyseria
</select>
<br />
WprowadĽ poszukiwane wyrażenie:<br />
<input name="wyrazenie" type="text" size="20">
<br />
<input type="submit" value="Szukaj"> </p>
</form>
<p align="left"><br>

</div></td>
</tr>

<tr>
<td class="white"><h6 align="left">Wyniki wyszukiwania</h6><div class="text">



<?php
require_once('funkcja_naglowek_tytul_filmu.php');
require_once('funkcje_bazy.php');
// utworzenie krótkich nazw zmiennych
$metoda_szukania=$HTTP_POST_VARS['metoda_szukania'];
$wyrazenie=$HTTP_POST_VARS['wyrazenie'];

$wyrazenie = trim($wyrazenie);



$metoda_szukania = addslashes($metoda_szukania);
$wyrazenie = addslashes($wyrazenie);


$lacz = lacz_bd();
if (!$lacz)
return 'Poł±czenie z serwerem bazy danych niemożliwe - proszę spróbować póĽniej.';
$zapytanie = "select * from filmy where ".$metoda_szukania." like '%".$wyrazenie."%'";
$wynik = mysql_query($zapytanie);

$ile_znalezionych = mysql_num_rows($wynik);

print "<table border=0 cellpadding=0 cellspacing=5 class=inside>";
print "<tr><td class=okladka><div class=text><b>Okładka</b></td>
<td class=tytul><div class=text><b>Tytuł</b></td>
<td class=aktorzy><div class=text><b>Aktorzy</b></td></tr>n";



echo '<p>Ilo¶ć znalezionych pozycji: '.$ile_znalezionych.'</p>';

for ($i=0; $i <$ile_znalezionych; $i++)
{
$row = mysql_fetch_row ($wynik);
$this_id = $row[0];
$tytul_pl = $row[1];
$okladka = $row[4];
$foto=$row[4];
$name=$row[4];
$aktorzy = $row[5];
$aktorzy = explode(', ', $aktorzy);



print "<tr><td class=okladka><img src='graphics/okladki/$foto' border='0' ALT='$name'><br></td><td class=tytul><div class=tytul>
<a href="index.php?op=10&id=".$this_id."">".($i+1).". ".$tytul_pl."</a></div></td><td class=aktorzy><div
class=text1>".$aktorzy[0]."<br>".$aktorzy[1]."<br>".$aktorzy[2]."<br>".$aktorzy[3]."<br>".$aktorzy[4]."<br>".$aktorzy[5]."</div></td></tr>";

}

print "</TABLE>";

?>
<br>
<br>
<br>
<br>
</div></td>
</tr>


<tr>
<td class="white"><h6>


<?php
/* Tutaj tworzę nagłowek tytułu filmu
Stworzyłem w tej funkcji zmienną globalną id - jak coś źle to w niej szukać błędu */

naglowek_tytul_filmu(); //odwołanie do funkcji

?>



</h6><div class="text"><br>

<?php
if($id){
$query="select * from filmy where id='$id'";
$result=mysql_query($query);
while ( $row = mysql_fetch_row($result) )
{
$this_id = $row[0];
$tytul_pl = $row[1];
$tytul_ang = $row[2];
$rezyseria = $row[6];
$dlugosc = $row[3];
$rok_prod = $row[11];
$aktorzy = $row[5];
$recenzja = $row[7];
$recenzja = $row[7];
$recenzja = nl2br($recenzja);
$gatunek = $row[10];
$nosnik_dvd = $row[8];
$nosnik_vhs = $row[9];

echo '<p><strong>Tytuł:</strong> ';
echo $tytul_pl;
echo '<br /><strong>Tytuł oryginału: </strong>';
echo $tytul_ang;
echo '<br /><strong>Reżyseria: </strong>';
echo $rezyseria;
echo '<br /><strong>W rolach głównych: </strong>';
echo $aktorzy;
echo '<br /><strong>Gatunek: </strong>';
echo $gatunek;
echo '<br /><strong>Rok produkcji: </strong>';
echo $rok_prod;
echo '<br /><strong>Rodzaj no¶nika dvd: </strong>';
echo $nosnik_dvd;
echo '<br /><strong>Rodzaj no¶nika vhs: </strong>';
echo $nosnik_vhs;
echo '<br /><strong>Recenzja: </strong>';
echo $recenzja;
'</p>';


}
}




?>


<br>
<br>
<br>
<br>
</div></td>
</tr>

</table>
</td>
<td class="side"><? include("news_start.html")?></td>


</tr>
</table>

?>[/php:1:853a91ef39]
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.