mysql in een function met een while buiten?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoram

Yoram

05/03/2009 14:24:00
Quote Anchor link
Ik heb een vraag of dit wel uberhoud mogelijk is?
Als het mogelijk is hoe zou ik dat het beste dan kunnen gebruiken?

ik heb dit als volgt ik wil gegevens uit verschillende tabels halen
maar ik heb geen zin om voor elke tabel een script te type om de gegevens er uit te halen. Dus ik bedacht mij als ik nu een functie maak met dat ik buiten de function zeg maar de tabel naam kan aan geven het aantal resultaten.

Maar ik wil dus verschillende tabels uitlezen die verschillende colom namen heeft.

Dit heb ik aan script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

include_once("database.php");
//mijn functie
function resultaten($tabelnaam, $maxaantal) {
 $sql_connect = mysql_query("SELECT * FROM $tabelnaam LIMIT $maxaantal");

}


$tabelnaam = "test1";
$maxaantal = 20;
resultaten($tabelnaam, $maxaantal);

while($row = mysql_fetch_array($sql_connect)) {
 echo $row['naam'];
 echo $row['adres'];
 echo $row['telefoon'];
}

?>


is het hier dan mogelijk om die while er buiten te zetten?
of moet dat op een andere manier dat $row['naam'] etc dat moet dus dan ook anders moeten kunnen bv achternaam of straat naam.
nu krijg ik ook telkens een error van:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in.
is dit fout of kan dit helemaal niet? hoe zou ik dan een stuk script vaker kunnen gebruiken door er van buitenaf dingen kan invoeren?

bedankt alvast
 
PHP hulp

PHP hulp

18/12/2024 15:13:16
 
TJVB tvb

TJVB tvb

05/03/2009 14:26:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

include_once("database.php");
//mijn functie
function resultaten($tabelnaam, $maxaantal) {
  return mysql_query("SELECT * FROM $tabelnaam LIMIT $maxaantal");
}


$tabelnaam = "test1";
$maxaantal = 20;
$sql_connect = resultaten($tabelnaam, $maxaantal);

while($row = mysql_fetch_array($sql_connect)) {
 echo $row['naam'];
 echo $row['adres'];
 echo $row['telefoon'];
}

?>

Je moet een return in je functie hebben, die kun je dan gebruiken
 
Yoram

Yoram

05/03/2009 14:37:00
Quote Anchor link
Okee Dankjee!!! zal het zo even snel testen

EDIT:

Ik heb het nu lopen, alleen hij wilt me stukkie tekst die ook nog moet worden afgebeeld laat hij niet zien.

Hier me hele stuk:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
//eerst mijn functie
function paginator($page, $targetpage, $tabel, $limit) {        
    $query = "SELECT COUNT(*) as num FROM $tabel";
    $total_pages = mysql_fetch_array(mysql_query($query)) or die (mysql_error());
    $total_pages = $total_pages['num'];
    
    if($page) {
        $start = ($page - 1) * $limit;             
    }
else {
        $start = 0;                                
    }

    
    return mysql_query("SELECT * FROM $tabel ORDER BY id DESC LIMIT $start, $limit");
    
    if ($page == 0) $page = 1;                    
        $prev = $page - 1;                            
        $next = $page + 1;                            
        $lastpage = ceil($total_pages/$limit);                
    
    $pagination = "
    <div class=\"pagination\">
    <div class=\"content_pagination\">
    "
;
    
    if($lastpage > 1) {    
    //previous button
    if ($page > 1) {
        $pagination.= "<div> <a href=\"$targetpage&page=$prev\">« previous</a>";
    }
else {
        $pagination.= "<div> « previous </div>";    
    }

    
    //pages    
    for ($counter = 1; $counter <= $lastpage; $counter++) {
        if ($counter == $page) {
            $pagination.= "<div> <u> <b> $counter </b> </u> </div>";
        }
else {
            $pagination.= "<div> <a href=\"$targetpage&page=$counter\"> $counter </a> </div>";            
        }
    }

    //next button
    if ($page < $counter - 1) {
        $pagination.= "<div> <a href=\"$targetpage&page=$next\"> next » </a> </div>";
    }
else {
        $pagination.= "<div> next » </div>";
    }

        $pagination.= "</div>";        
    }
    
}

?>


En hier het stukje om dit allemaal te kunnen laten zien.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$page
= $_GET['page']; //waar de GET vandaan gehaald moet worden.
            $targetpage = "?p=rapidinc&categorie=".$categorie."&page=".$page;//waar hij moet gaan zoeken.
            $tabel = $rapid;//tabel waar hij de resulaten uit moet halen.
            $limit = 4; //aantal resultaten per pagina
            
            $result = paginator($page, $targetpage, $tabel, $limit);
                        
            while($row = mysql_fetch_array($result)) {
                echo $row['id']."<br/>";
                echo $row['name']."<br/><br/>";
            }

?>


Alleen hoe kan ik nu die variable $pagination laten zien?
Want hij laat nu wel de resultaten zien alleen niet dat ik kan kieze welke pagina.
Gewijzigd op 01/01/1970 01:00:00 door Yoram
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.