Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Abi PHP's märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele 1, 2  järgmine
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
LinkyB
HV kasutaja

liitunud: 19.06.2005




sõnum 08.07.2009 15:38:54 Abi PHP's vasta tsitaadiga

Sooviks kiirelt abi kuidas teha lihtsalt lehtede jaotus, nii > esimesed 10 on lk 1 , teised 10 on lk 2, kolmandad 10 on lk 3 jne. Lugesin küll PHP centerist jaotust MySQL'iga aga minu aju seda ära ei võtnud, väga väike
väheste teadmistega progreja, aga koodiga ise olen hetkel jõudnud nii kaugele:

php:
  1. case 5:
  2.  
  3. include 'db.php';
  4.  
  5. mysql_connect(localhost,$username,$password);
  6. mysql_set_charset('utf8');
  7. @mysql_select_db($database) or die( "Unable to select database");
  8. $query="SELECT * FROM kuulutused where staatus='1' and class='5'";
  9. $result=mysql_query($query);
  10. echo "<b><center>Kuulutused - Paar otsib Paari</center></b><br><br>";
  11. $num=mysql_numrows($result);
  12. if ($num==0) {
  13. echo "Kuulutused puuduvad veel!";
  14. }
  15.  
  16.  
  17. $i=0;
  18. while ($i < $num) {
  19.  
  20. $nimi=mysql_result($result,$i,"nimi");
  21. $vanus=mysql_result($result,$i,"vanus");
  22. $elukoht=mysql_result($result,$i,"elukoht");
  23. $kuulutus=mysql_result($result,$i,"kuulutus");
  24. $ip=mysql_result($result,$i,"ip");
  25.  
  26. echo "Nimi: $nimi<br>Vanus: $vanus<br>Elukoht: $elukoht<br>Kuulutus: $kuulutus<br>IP: $ip<br><hr><br>";
  27.  
  28. $i++;
  29. }
  30. ;
  31. break;

_________________
[img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:]
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 0
tagasi üles
vaata kasutaja infot saada privaatsõnum
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 08.07.2009 15:53:03 vasta tsitaadiga

http://dev.mysql.com/doc/refman/5.1/en/select.html, loe LIMIT kohta
_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 08.07.2009 17:17:22 vasta tsitaadiga

Sa küsid valesti, juba MySQL päringu saad selliselt teha, et vastus on teatud reast teatud reani.
limit on võtmeks. See, kuidas neid ridasid ja tabeli mahtu arvutad on juba teine teema.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
LinkyB
HV kasutaja

liitunud: 19.06.2005




sõnum 08.07.2009 17:24:34 vasta tsitaadiga

Olen saanud hakkama sms aktiveerimisega, mysql insertiga, lugemisega jms. kuid soovin veel teada kuidas teha inserted.php kuva peale mysql inserti info 'nimi', 'vanus','elukoht' jne kas siis viimase id järgi või viimati listud järgi või hoopiski kõige loogilisem variant, see mis just sisestati formi ja postitati mysql tabelisee
_________________
[img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:]
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 0
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 08.07.2009 17:32:48 vasta tsitaadiga

Kui seda on kohe peale postitust vaja, siis kasuta postituse andmeid. Baasist ära loe midagi. Kõige kiirem.

Kui tahad ikkagi andmebaasi viimast, sordi kõik tagurpidi id suhtes ja kuva esimene päring.

SELECT * FROM tabel  order by id desc

_________________


viimati muutis andrusny 08.07.2009 17:46:53, muudetud 1 kord
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 08.07.2009 17:46:03 vasta tsitaadiga

ot:
https://foorum.hinnavaatlus.ee/viewtopic.php?t=417268 !?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 08.07.2009 19:09:36 vasta tsitaadiga

andrusny kirjutas:
Kui seda on kohe peale postitust vaja, siis kasuta postituse andmeid. Baasist ära loe midagi. Kõige kiirem.

Kui tahad ikkagi andmebaasi viimast, sordi kõik tagurpidi id suhtes ja kuva esimene päring.

SELECT * FROM tabel  order by id desc
kuule sellist lolli nõu ära parem küll anna icon_evil.gif

Mille jaoks siis mysql_insert_id() funtsioon on? http://ee.php.net/manual/en/function.mysql-insert-id.php

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 08.07.2009 20:36:05 vasta tsitaadiga

Sellega ta saab teada viimase id ainult peale insert tegemist, aga mis siis, kui ta ei soovi midagi sisestada ja tahab viimast teada?
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 08.07.2009 21:45:13 vasta tsitaadiga

andrusny, sellisel juhul on sinu näide ikkagi vägagi vale. Miks ta peaks näiteks 10MB või ekstreemsusse langedes 1GB tabeli iga kord SQL serverist PHPsse tõmbama?

Selle jaoks on LIMIT. Aga üldiselt eeldada ei ole mõtet - küsimus oli peale sisestust sisestatud andmete teadasaamine. Sellejaoks ongi viimase sisestuse ID + päring baasi.

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 08.07.2009 21:54:50 vasta tsitaadiga

Optimeeringu suhtes küsimus et milleks oleks üldse vaja andmebaasist uuesti samu andmeid vaja välja tõmmata, mis sinna just sisse saadeti ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 08.07.2009 22:00:21 vasta tsitaadiga

mikk36, viisakas on peale formi submitti redirect teha järgmisele lehele, et mõni mees refreshi vajutades andmeid uuesti ei submitiks.
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 08.07.2009 22:05:00 vasta tsitaadiga

Ja mis kasu on siis sellel scriptil endale andmed sisse tõmmata kui script niikuinii käsib hoopis redirecti teha ja see konkreetne script (see käivitus) neid andmeid brauserile ei jaga ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 08.07.2009 22:06:37 vasta tsitaadiga

mikk36, misasja sa sokid?

insert -> get ID -> redirect koos IDga -> select

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 08.07.2009 22:08:42 vasta tsitaadiga

Renka kirjutas:
mikk36, misasja sa sokid?

insert -> get ID -> redirect koos IDga -> select
Renka kirjutas:
küsimus oli peale sisestust sisestatud andmete teadasaamine. Sellejaoks ongi viimase sisestuse ID + päring baasi.
Kas selle all mõtlesid järgmisel käivitusel selle id kasutamist või sama scripti sees ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 08.07.2009 22:16:58 vasta tsitaadiga

mikk36, viisakas on ikka järgmisel lehel seda kasutada. Samas oleneb kuidas keegi kasutab. Võib ka samal lehel ju - kuigi mina seda heaks ei kiidaks.

See, et samal lehel ei ole mõtet päringut baasi teha ei ole aga ka õige lähenemine. Loogika peaks ikka olema see, et kuvad kasutajale seda infot mis reaalselt baasi jõudis. Sellisel juhul võtad andmed baasist - mis siis, et need on sul POST'is või kus iganes olemas. Sellega jääb lehe ülesehituse loogika selgem ja saab ka kohest tagasisidet, et kas andmed ikka reaalselt salvestusid baasi ja mis kujul. Debugidagi lihtsam. Rääkimata olukordadest kus baasi sisestamisel toimub baasis endas veel andmete töötlus - Oracles laialt kasutav praktika. MySQLis küll vähem aga kohtab ka vahest. Kasvõi mõne timestambi lisamine näiteks.

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 08.07.2009 22:19:43 vasta tsitaadiga

Hästi põhjendatud thumbs_up.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
LinkyB
HV kasutaja

liitunud: 19.06.2005




sõnum 09.07.2009 14:24:53 vasta tsitaadiga

php:
  1. $lkjaotus=new lkjaotus(5,(int)$_GET['lk'],'SELECT nimi,vanus,elukoht,kuulutus,id,ip FROM kuulutused WHERE staatus="1" AND class="1"','SELECT COUNT(*) FROM kuulutused WHERE staatus="1" AND class="1"');



Kuidas ma saan, et ta countiks tabelist ainult read mis on class='1' ?

php:
  1. 'SELECT COUNT(*) WHERE class"1" FROM kuulutused WHERE staatus="1" AND class="1"');


sobib selline ? EDIT: sobis icon_smile.gif

_________________
[img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:]


viimati muutis LinkyB 09.07.2009 14:31:46, muudetud 2 korda
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 0
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 09.07.2009 14:27:55 vasta tsitaadiga

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 09.07.2009 14:33:33 vasta tsitaadiga

Renka kirjutas:
mikk36, viisakas on peale formi submitti redirect teha järgmisele lehele, et mõni mees refreshi vajutades andmeid uuesti ei submitiks.


Selle jaoks mu arust praktilisem ja toimivam viis kasutada token'ite süsteemi. A'la, hidden lahtris suvaline number ja küpsisesse/sessiooni see sama. submit'imisel kontrollitakse neid ja kui klapib, on korras. icon_wink.gif Toimib küll. icon_wink.gif Hoiab ka natuke teatud tüüpi rünnakute vastu. icon_wink.gif

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 111 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 103
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 09.07.2009 14:35:14 vasta tsitaadiga

jnt, ei ole hea ju.

Jällegi tuleb lehe ülesehituse loogika mängu. Formi submittimisega tegeleb üks osa koodist ja kuvamisega teine. Ei ole ilus neid segada.

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 09.07.2009 14:36:09 vasta tsitaadiga

Renka, koodi võib osadesse jagada ka teistmoodi, kui erinevate failidena juppe hoida. icon_exclaim.gif icon_wink.gif
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 111 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 103
tagasi üles
vaata kasutaja infot saada privaatsõnum
LinkyB
HV kasutaja

liitunud: 19.06.2005




sõnum 09.07.2009 14:39:52 vasta tsitaadiga

Mis minu variandil viga on täiesti lihtne ja kõlblik ..
_________________
[img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:]
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 0
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 09.07.2009 14:41:43 vasta tsitaadiga

jnt kirjutas:
Renka, koodi võib osadesse jagada ka teistmoodi, kui erinevate failidena juppe hoida. icon_exclaim.gif icon_wink.gif
erinevatest failidest ei ole keegi rääkinud - vaid üldisest koodi loogikast/arhitektuurist/disainist
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 09.07.2009 14:49:51 vasta tsitaadiga

Renka, kes seda käskis sul segada? icon_razz.gif tokenite süsteem ei välista korralikku struktuuri veebilehe ülesehituses.

Minu arust on nt ka pidev refresh'imine jms teema erinevate lehe osade kasutamiseks ka väga vale lahendusviis. Lehe ülesehitus peaks minu arust olema selline, et kood on ees, ja lõpus lüüakse siis koodi tulemustele template ümber ja korras. Mingist "segamisest" on asi väga kaugel sel juhul. Ja tokenitega pole ka mingit probleemi.

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 111 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 103
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 09.07.2009 15:01:52 vasta tsitaadiga

jnt, eks oleneb projekti suurusest ja maitsest. Aga sellise lahendusega suuremat projekti ei ole küll võimalik normaalselt hallata.
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Abi PHP's mine lehele 1, 2  järgmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.