Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> porcjowanie mysql
?
post 30.07.2003, 12:49:24
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


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?
Go to the top of the page
+Quote Post
Seth
post 30.07.2003, 13:05:18
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


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.
Go to the top of the page
+Quote Post
?
post 30.07.2003, 13:19:53
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


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ł
Go to the top of the page
+Quote Post
Seth
post 30.07.2003, 13:35:39
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


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
Go to the top of the page
+Quote Post
?
post 30.07.2003, 13:50:04
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


[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
Go to the top of the page
+Quote Post
maggot
post 30.07.2003, 14:30:53
Post #6





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 7.05.2002
Skąd: Sz-n/Wroc/Wawa

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


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


--------------------
/maggot/
Go to the top of the page
+Quote Post
?
post 30.07.2003, 15:37:42
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


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
Go to the top of the page
+Quote Post
scanner
post 30.07.2003, 15:51:14
Post #8





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




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.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
maggot
post 30.07.2003, 17:13:15
Post #9





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 7.05.2002
Skąd: Sz-n/Wroc/Wawa

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


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?


--------------------
/maggot/
Go to the top of the page
+Quote Post
?
post 30.07.2003, 20:33:16
Post #10





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


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
Go to the top of the page
+Quote Post
maggot
post 30.07.2003, 21:53:10
Post #11





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 7.05.2002
Skąd: Sz-n/Wroc/Wawa

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


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


--------------------
/maggot/
Go to the top of the page
+Quote Post
?
post 30.07.2003, 22:03:45
Post #12





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


a jak wyswetlic ile tych rehordów mam bo

echo '$res3'; nie działa
Go to the top of the page
+Quote Post
?
post 30.07.2003, 22:07:49
Post #13





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


hura działaa miales racje to przez to ... gdzie

danke
Go to the top of the page
+Quote Post
maggot
post 30.07.2003, 22:21:55
Post #14





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 7.05.2002
Skąd: Sz-n/Wroc/Wawa

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


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]


--------------------
/maggot/
Go to the top of the page
+Quote Post
?
post 30.07.2003, 22:34:51
Post #15





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


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
Go to the top of the page
+Quote Post
spenalzo
post 30.07.2003, 22:53:37
Post #16





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Było na forum -> http://forum.php.pl/viewtopic.php?t=3892


--------------------

Go to the top of the page
+Quote Post
?
post 30.07.2003, 22:59:33
Post #17





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


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
Go to the top of the page
+Quote Post
spenalzo
post 30.07.2003, 23:04:58
Post #18





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Napisz po polsku, bo nic nie rozumiem.


--------------------

Go to the top of the page
+Quote Post
?
post 30.07.2003, 23:08:45
Post #19





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 16.07.2003
Skąd: Kosmos

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


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]
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:33