[Php] Navigatie problemen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • fly
  • Registratie: Oktober 2000
  • Laatst online: 23-05 11:04

fly

Live Is Just.........

Topicstarter
Hoi allemaal

Ik heb dus problemen met mijn navigatie. En ik maak gebruik van de volgende functie
(http://www.phpfreakz.nl/library.php?sid=14289 )
met de instellingen:
$navigation = sql_navigation('movie','lijst.php','page', 100, NAV_BOTH);
Ik heb verschillende zoekresultaat, neem voor de gemak 1 dervan.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* Mijn form
  <td><form method=\"post\" action=\"lijst.php\"><input type=\"hidden\" name=\"zenden\" value=\"yes\">Zoek op movienaam:</td>
  <td><input type=\"text\" name=\"moviezoek\" size=\"10\"></td>
  <td><input type=\"submit\" name=\"Submit\" value=\"Zoeken\"></td>
  </form>
*/
if($_POST['moviezoek']) {
    $_POST['moviezoek'] = preg_replace('/\*/','%',$_POST['moviezoek']);
    $_POST['moviezoek'] = preg_replace('/\?/','_',$_POST['moviezoek']);
    $resultaattype = mysql_query("SELECT * FROM movie WHERE naam LIKE '".$_POST['moviezoek']."%' ORDER BY movies ASC LIMIT ". $navigation['startpoint'] . ", " . $navigation['endpoint']) or die(mysql_error());
}
//Toon script van mij
if ($_POST['zenden'] || $_GET['page']) {
while ($line = mysql_fetch_object($resultaattype, MYSQL_ASSOC)) {
    
    print "\t<tr>\n
    \t\t<td>".$line->id."</td>\n
    \t\t<td>".$line->naam."</td>\n
    \t\t<td>".stripslashes($line->movies)."</td>\n
    \t\t<td>".$line->cd."</td>\n
    \t\t<td>".$line->format."</td>\n
    \t\t<td>".$line->year."</td>\n
    \t\t<td>".$line->sub."</td>\n
    \t\t<td>".$line->download."</td>\n
    \t\t<td>".$line->got."</td>\n
    \t</tr>\n";
         }

het probleem zit hem in de uitslag.
ik gebuik $_POST['checktype'] zodat na het submiten ik pas een resultaat krijg. Nu krijg ik wel een resultaat maar die werkt alleen op pagina 1 als ik volgende doe pakt hij nix meer. Omdat $resultaattype in die if statement staat. Hoe kan ik voor zorgen dat hij wel werkt? heb geprobeerd met isset($_GET) maar dat lukt ook niet echt. Weet iemand hier antwoordt op??

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

PHP hoort in Programming&WEBSCRIPTING :)

dus /move -> /14

Acties:
  • 0 Henk 'm!

Verwijderd

Als jij een linkie <A hrefje voor de volgende pagina gebruikt op een standaard manier, is er geen post meer, dus moet je de waardes ook meegeven in de querystring en dan die 1e if aanpassen dat hij ook doet met een $_Get['page'

verder mis ik je link in je post, dus misschien niet 100% antwoord, maar moet je de goede richtin gop sturen

Acties:
  • 0 Henk 'm!

  • fly
  • Registratie: Oktober 2000
  • Laatst online: 23-05 11:04

fly

Live Is Just.........

Topicstarter
Verwijderd schreef op 04 juni 2004 @ 17:22:
verder mis ik je link in je post, dus misschien niet 100% antwoord, maar moet je de goede richtin gop sturen
if($_POST['moviezoek']) {
wordt dus
if($_POST['moviezoek'] || $_GET['page']) {
maare hoe moet ik dan de query aanpassen.... die zoekt op die $post variable

En welke link bedoel je?
ff kijken of hier de goeie antwoordt in zit.
als ik volgende pagina doet is de link lijst.php?page=2
wat is wel weet is dat de functie deze gegevens terug geeft:
return array(
'current' => $current,
'navigation' => $navigation,
'startpoint' => $startpoint,
'endpoint' => $endpoint,
'totalrecords' => $totalrecords,
'totalpages' => $totalpages

[ Voor 18% gewijzigd door fly op 04-06-2004 17:30 ]


Acties:
  • 0 Henk 'm!

  • fly
  • Registratie: Oktober 2000
  • Laatst online: 23-05 11:04

fly

Live Is Just.........

Topicstarter
is der dan niemand hier die weet wat ik kan doen? :'(

Modbreak:
Wil je niet kicken binnen 24 uur? Sommige mensen zitten niet 24 uur per dag achter een computer en die zien je topic echt wel.

[ Voor 63% gewijzigd door gorgi_19 op 04-06-2004 20:37 ]


Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
verander $_POST in $_GET overal, en geef je formulier een GET method.
Dit lijkt me de makkelijkste oplossing, gezien je je keyword + pagina nodig hebt.

De check op ['zenden'] kun je denk ik weghalen, lijkt mij overbodig?
Of zet je alles in 1 pagina? (wat ik persoonlijk niet overzichtelijk vind).

En dan links als lijst.php?moviezoek=$_GET['moviezoek']&page=$_GET['page'];
Gewoon wat spelen met deze tips, een $_POST = foetsie nadat weer verder gaat dan de pagina die hem moet verwerken.

Docs:
http://nl3.php.net/manual...hp#reserved.variables.get
http://nl3.php.net/manual...p#reserved.variables.post

Al vind ik je probleem niet heel duidelijk uitgelegd, denk ik dat dit het is.

-edit:
Ik denk echter dat het probleem ook dit kan zijn:
Je checkt op de POST of GET, of die ingevuld is dus, logisch.
Maar! Je gebruikt voor de query steeds de $_POST, zet daar ook ff een check bij of je _POST of _GET moet gebruiken als dit het geval is, en stuur het trefwoord dus ook mee in de urls die je gebruikt.

(sorry als t onduidelijk overkomt, maar ik ben een beetje :Z)

[ Voor 35% gewijzigd door semicolon op 04-06-2004 21:00 ]

:D/-<


Acties:
  • 0 Henk 'm!

  • fly
  • Registratie: Oktober 2000
  • Laatst online: 23-05 11:04

fly

Live Is Just.........

Topicstarter
Max v W schreef op 04 juni 2004 @ 20:55:
En dan links als lijst.php?moviezoek=$_GET['moviezoek']&page=$_GET['page'];
Gewoon wat spelen met deze tips, een $_POST = foetsie nadat weer verder gaat dan de pagina die hem moet verwerken.

Docs:
http://nl3.php.net/manual...hp#reserved.variables.get
http://nl3.php.net/manual...p#reserved.variables.post

Al vind ik je probleem niet heel duidelijk uitgelegd, denk ik dat dit het is.
Tnx voor het zeggen ik ben nu al wat verder...
is der een manier om alle $_GET info te krijgen?
zoals ik al zei ik heb meerdere functies zoeken op usernaam leverd dit op lijst.php?zenden=yes&zoeknaam=fly&Submit=Zoeken
Omdat ik meerder zoekfuncties hebt was mijn vraag kan ik in mijn nagivatie een of andere $_get ding oproepen dat ik gelijk alle waardes kan krijgen in de link
zodat ik niet telkens $_GET['zoeknaam']&$_GET etc. hoeft te typen?

Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
PHP:
1
2
3
<?
echo getenv("QUERY_STRING");
?>

probeer hier maar wat leuks mee :)

:D/-<


Acties:
  • 0 Henk 'm!

  • fly
  • Registratie: Oktober 2000
  • Laatst online: 23-05 11:04

fly

Live Is Just.........

Topicstarter
wederom tnx _/-\o_ ,

alleen nu heb ik weer een probleempje derij :? (ze blijven maar komen...)
ik heb dus ?blablabla&page=2
en volgende gaat naar page=3
maar wat doet hij hij pakt ?blablabla&page=2&page=3
niet echt handig. nou was mijn vraag hoe laat ik hem allleen alles voor 'page'
pakken?

Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Lijkt mij vrij simpel om bijvoorbeeld zo te doen:
zet de query string in een variabel, vervang in die variabel page=huidigepagina naar page=nieuwenummer.

Ik zei dan ook; probeer hier maar wat leuks mee
ik zei niet; gebruik deze code letterlijk ;)

[ Voor 24% gewijzigd door semicolon op 05-06-2004 12:43 ]

:D/-<


Acties:
  • 0 Henk 'm!

  • fly
  • Registratie: Oktober 2000
  • Laatst online: 23-05 11:04

fly

Live Is Just.........

Topicstarter
Max v W schreef op 05 juni 2004 @ 12:32:
Lijkt mij vrij simpel om bijvoorbeeld zo te doen:
zet de query string in een variabel, vervang in die variabel page=huidigepagina naar page=nieuwenummer.

Ik zei dan ook; probeer hier maar wat leuks mee
ik zei niet; gebruik deze code letterlijk ;)
hehehehe na veel gepuzzel is het mij gelukt :D
PHP:
1
2
$alles2= $_SERVER['argv'];
    $alles = preg_replace('/([a-z0-9\=\&]{1,})&page=([a-z0-9\=\&]{1,})/', '\\1', $alles2[0]);

kwam trouwens derachter dat je die niet meer mag gebruiken...

[ Voor 14% gewijzigd door fly op 05-06-2004 13:06 ]


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 20-09 22:44

MBV

Ik zou je zoieso willen aanraden om wat meer scheiding aan te brengen.
1. Ik zorg dat de variabelen die ik nodig heb bovenaan al laad in gewone variabelen, zodat duidelijk is waar ik gebruik van maak (heel handig bij onderhoud later...)
2. Ik houd de HTML code meestal bij elkaar: ik stop de gegevens die ik nodig heb in een variabele, die ik later kort uitprint in de html-code onderaan.
3. Laatst een artikeltje in C'T magazine, en sindsdien scheid ik de verschillende opvolgende schermen in verschillende bestanden.

Punt 1 kan je probleem oplossen: je haalt de gegevens bovenaan uit $_GET['blaat'] of $_POST['blaat'], stopt het in een variabele en gebruikt die variabele.
Pagina: 1