Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: porcjowanie mysql
Forum PHP.pl > Forum > PHP
?
napisałem skrypt to porcjowanie pokazuje mi linki ile stron ma do nastepnych stron ale jak wejde do jakies to mam taki komuniakt

[sql:1:84016cbec8]Warning: Division by zero in c:foxservwwwtlumacztrescszukaj.txt on line 38[/sql:1:84016cbec8]

czemu?
Seth
Gdyz nie mozna dzielic przez zero smile.gif
Zobacz ten topic: http://forum.php.pl/viewtopic.php?t=224 tam jest bodajze jakis gotowy skrypt do indeksowania stron.
?
dziwne ze ja mam gdzieś parametr 0 . wkleje kod i zobaczysz .

[php:1:8d9b4ad2c4]<?php

if ($szukane_wyraze =='')
{
echo " Podaj slowo ";
}
if ($szukaj = "$szukane_wyraze")
{
echo"Wyniki wyszukiwania dla zapytania: <b>$szukane_wyraze</b><br><br>";
echo "Sortowanie po <b> $ile </b> elemtnów na stron&ecirc;.";
$db3 = mysql_connect("localhost", "jb", "jb1001") ;
mysql_select_db("ttt", $db3);
$res3 = mysql_query ("SELECT * FROM ang WHERE $gdzie LIKE "$szukane_wyraze%"");
$ress3 = mysql_num_rows($res3);
echo "<br>Znalazlem <b>$ress3</b> zapytan pasujacych do Twojego pytania.<br><br>";
if(($s=="") && ($e=="")){
$s="0";

$ile="$ile";
}

echo "<br><BR>";
$db = mysql_connect("localhost", "jb", "jb1001") ;
mysql_select_db("ttt", $db);
$s == "0";
$res = mysql_query ("SELECT * FROM ang WHERE $gdzie LIKE "$szukane_wyraze%" LIMIT ".($page*$ile).",$ile");
while($row = mysql_fetch_array($res))
{
$de = $row["de"];
$en = $row["en"];
echo " - $de : $en<br>";
}
}

echo "<br><br>";

$podstron=ceil($ress3/$ile);

if ($page>0) echo "<br><BR> <a href=skrypt.php?page=".($page-1).">Poprzednia</a> "; else
echo "Poprzednia ";

for ($i=1; $i<=$podstron; $i++) {
if ($i==$page-1) echo "$i"; else echo "[ <a href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&page=$i><font color=red> $i </font>
</a> ] ";
}
if ($page<$podstron) echo "<a href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&page=".($page+1).">Nastepna</a>";
else echo "Nastepna";

?>[/php:1:8d9b4ad2c4]

moze jakis pomysł
Seth
Cytat
[php:1:f044804a5c]...
if ($szukaj = "$szukane_wyraze")
...
[/php:1:f044804a5c]

powinno byc:
[php:1:f044804a5c]...
if ($szukaj == "$szukane_wyraze")
...
[/php:1:f044804a5c]

Sprawdz co zwraca $ile
?
[php:1:da21cc22e4]<?php
if ($szukaj = "$szukane_wyraze")
?>[/php:1:da21cc22e4]

tak musi być z Twoją probozycją kodu nic nie wyśwetla ani jednego rekordu. a zminna $ile wynosi tyle ile wybiore sobie z listy podczas szukania czyli jak wybiore 25 to ona tez ma 25.

ale mi zlicza wszystko ok linki mam w postaci 1.2.3.4.5.6 ale jak klikne na 2 to pokazuje mi sie te w/w blad
maggot
Nie wiesz co piszesz sad.gif

co tobie sie wydaje, ze to robi:
[php:1:ccd1011619]<?php
if ($szukaj = "$szukane_wyraze") {}
?>[/php:1:ccd1011619]
i to (19 linia)

[php:1:ccd1011619]<?php
$ile="$ile";
?>[/php:1:ccd1011619]

i po co wogole te cudzyslowy

//dodano: i jeszcze to

[php:1:ccd1011619]<?php
$s == "0";
?>[/php:1:ccd1011619]


przeczytaj w manualu rozdzial: Opis jezyka
i moze to: http://forum.php.pl/viewtopic.php?t=789

poza tym powinienes chyba przekazac w linku zmienna ile
?
nie przecież widze wynik tego

a jak są dwa znaki " == " to nie ma nic ... !
tak na marginesie ...
Cytat
i po co wogole te cudzyslowy

możę i nie potrzebne ale jestem przyzwyczajony do nich i będe ich użuwał takich " albo takich ' smile.gif

[php:1:6dd342f7f7]<?php
if(($s=="") && ($e=="")){
$s="0";
$ile="$ile";
}
[/code]
tego nie powinno by zamiast tego dalem
if ($nrs =="")
{
$nrs ="0";
$ile="$ile";
}

?>[/php:1:6dd342f7f7]

zmienna $ile mam przekazywaną z formularza musi być inaczej mi nic nie wyswietla.
wszystko działa ale jak dam na link nr nie dziala ...

nic mi nie pomogliście ma ktos inne pomysl oprucz wytykania mi bledów sad.gif

Acha a po co mam czytać to tych zminnych GET, Post i innych ? co to ma do tego . Dane po wyjsciu z formularza sa ok !
najlepij zcagnij ten kod zrob baz sql rekordy en,de,nr i porcjuj je smile.gif zobaczymy czy Ci zadziała
scanner
Różnica pomiędzy "=" a "==" polega na tym że pierwszy z nich to operator przypisania, a drugi - porównania.
Jeśli dasz [php:1:84598a68bb]<?php
if ($variable = 'some value')
?>[/php:1:84598a68bb]to równie dobrze możesz dać [php:1:84598a68bb]<?php
if ( TRUE )
?>[/php:1:84598a68bb]A to raczej nie mam sensu.
Co do danych z formularza - może i przychodza dobrze, ale na Twoim php. Nie wiem, jaka masz wersję, ale w nowych, bez $_GET, $_POST itp. się nie obejdziesz, a każdy Twój skrypt jest skazany na błędne działanie.
maggot
powtorze:
Cytat
poza tym powinienes chyba przekazac w linku zmienna ile

jak klikasz na odnosnik, to zadne inne zmienne nie beda przekazywane niz te w url'u (pomijam sesje i ciastka)


caly czas mnie zastanawia ta linijka
[php:1:07485a7c2d]<?php
$ile="$ile";
?>[/php:1:07485a7c2d]

przypisujesz do zmiennej $ile wartosc jej samej, masz jakis racjonalny powod questionmark.gif?
?
ok zwracam honor kod był pokrecony a to :

[php:1:60a34d7e63]

<?
if ($szukane_wyraze =='')
{
echo " Podaj slowo aby przeszukac baze.";
}

echo"Wyniki wyszukiwania dla zapytania: <b>$szukane_wyraze</b><br><br>";
echo "Sortowanie po <b> $ile </b> elemtnów na stron&ecirc;.";
$db3 = mysql_connect("localhost", "jb", "jb1001") ;
mysql_select_db("ttt", $db3);
$res3 = mysql_query ("SELECT * FROM ang WHERE $gdzie LIKE "$szukane_wyraze%"");
$ress3 = mysql_num_rows($res3);
echo "<br>Znalazlem <b>$ress3</b> zapytan pasujacych do Twojego pytania.<br><br>";
echo "<br><BR>";
$db = mysql_connect("localhost", "jb", "jb1001") ;
mysql_select_db("ttt", $db);
$res = mysql_query ("SELECT * FROM ang WHERE $gdzie LIKE "$szukane_wyraze%" LIMIT $nrs,$ile");
while($row = mysql_fetch_array($res))
{
$de = $row["de"];
$en = $row["en"];
echo " - $de : $en<br>";
}
echo "<br><br>";
$podstron=ceil($ress3/$ile);
echo "<centeR><br><BR>Strona : <b>$nrs</b> ";
if ($nrs>0) echo "<a href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&nrs=".($nrs-1).">Poprzednia</a> "; else
echo "Poprzednia ";

for ($i=1; $i<=$podstron; $i++) {
if ($i==$nrs-1) echo "$i"; else echo "[ <a href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&nrs=$i&ile=$ile><font color=red> $i </font>
</a> ] ";
}
if ($nrs<$podstron) echo "<a href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&nrs=".($nrs+1)."&ile=$ile>Nastepna</a>";
else echo "Nastepna";
?>
</center>

[/php:1:60a34d7e63]

Tutaj mam ten sam klopot . mianowice. Jeżeli wpisze np " słowo : 'ich bin' " to wyszukiwarka przeszuka moją baze k której jest 120 tys rekordów pisze to bo się przyda w moim drugim klopocie. ale o tym potem. przeszukuje i wysetli mi na 1 stronie 25 rekordów lub 50 w zależności od tego ile sobie wyberze uzytkownik. ale jak sie przejdzie do 2 serji wynikó to wyskakuje mi to

[php:1:60a34d7e63]

Wyniki wyszukiwania dla zapytania: ich

Sortowanie po 25 elemtnów na stron&ecirc;.
Warning: Supplied argument is not a valid MySQL result resource in c:foxservwwwtlumacztrescszukaj.txt on line 12

Znalazlem zapytan pasujacych do Twojego pytania.

Warning: Supplied argument is not a valid MySQL result resource in c:foxservwwwtlumacztrescszukaj.txt on line 18

Strona : 6 Poprzednia Nastepna

[/php:1:60a34d7e63]

co jest nie tak pozbyłęm się tego co mi wupominaliście mieliście racje. sad.gif

po 2 jęzeli uzytkownik ustawi sobie wyswetlanie po 25 rekordów a wyszukiwarka znjadzie icj powiedzmy 10 000 to tych numerków do następnych stron będe miał duzo . da się to uprości np do 5 numerków a potem beda sie pokazywać nowe . pokazuje sie 5 numerków jak kliknet na 5 pokazuje mi sie 6 a znika 1 .

ale namieszałem mam nadzieje ze nie zabardzo.
pozdrawiam
maggot
1. Jak chcesz tylko sprawdzic ile jest pasujacych rekordow w bazie (linia 11) to nie musisz (i wrecz nie powinienes) ich pobierac
wystarczy [sql:1:b46434a358] SELECT count(*) FROM ....[/sql:1:b46434a358]
bedzie o wiele wydajniej !!!

2. jak wykonujesz jakas funkcje z baza danych to zawsze sprawdzaj czy sie ona powiodla
[php:1:b46434a358]<?php
mysql_query($zapytanie) or die("blad w zapytaniu: $zapytanie<br /> ".mysql_error() );
?>[/php:1:b46434a358]
(jak juz bedzie dzialac, to mozesz ew. zmienic komunikaty zeby, w razie czego, nie dawac innym za duzo informacji o skrypcie)

3. chyba musisz jeszcze przekazac zmienna $gdzie
?
a jak wyswetlic ile tych rehordów mam bo

echo '$res3'; nie działa
?
hura działaa miales racje to przez to ... gdzie

danke
maggot
Cytat
a jak wyswetlic ile tych rehordów mam bo

echo '$res3'; nie działa


[php:1:731366c885]<?php
$resWynik = mysql_query('SELECT count(*) FROM ....');
$arrKrotka = mysql_fetch_row($resWynik);
echo $arrKrotka[0];
?>[/php:1:731366c885]
?
ok juz działa jeszcze jedne pytanie ..

jak mam

np :

1.2.3.4.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25 taki ulozenie linkow . jak zrobic zeby było coś takiego

wstecz 1.2.3.4.5 dalej

jak kliknet na dalej do wartosc linki rosnie o jeden ale jak dojde do piatki to pokazuje sie 6 a znika 1 i tak w kólko
spenalzo
Było na forum -> http://forum.php.pl/viewtopic.php?t=3892
?
ciekawy artykół ale Ty masz 2 razy FOR a ja raz w tworzeniu linkó gdzie to wsadzić wiem jak zrobić zeby wyswetlilo mi 1.2.3.4.5 ale juz zeby 1 znikala jak sie jest w 5 to niewiadoma
spenalzo
Napisz po polsku, bo nic nie rozumiem.
?
Ty masz tak
[php:1:7046170548]

<?php
$page=54;
$ile=5; // ile stron w przód i tył
$strony=103; // ilosc wszystkich stron


if(($page-$ile)>0)
{
for($i=0; $i<$ile; $i++)
{
echo "<a href=costam.php?page=".($page-$i).">".($page-$i)."</a>";
}
}

if(($page+$ile)<$strony)
{
for($i=0; $i<$ile; $i++)
{
echo "<a href=costam.php?page=".($page+$i).">".($page+$i)."</a>";
}
}

?>[/php:1:7046170548]
Ja mam tak

[php:1:7046170548]<?php
if ($nrs>0) echo "<a href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&nrs=".($nrs-1)."&gdzie=$gdzie&ile=$ile>Poprzednia </a> "; else
echo "Poprzednia ";
for ($i=1; $i<=$podstron; $i++) {
if ($i==$nrs-1) echo "$i"; else echo "[ <a
href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&nrs=$i&ile=$il
e&gdzie=$gdzie><font color=red> $i </font>
</a> ] ";
}
if ($nrs<$podstron) echo "<a
href=index.php?lang=$lang&akcja=szukaj&szukane_wyraze=$szukane_wyraze&nrs=".($nrs+1)
."&ile=$ile&gdzie=$gdzie>Nastepna</a>";
else echo "Nastepna";
?>

ja mam jedna petle FOR a Ty dwie nie na sie to w jednej zmiescic alno jak to przerobić?

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