mysql in een function met een while buiten?
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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'];
}
?>
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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'];
}
?>
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
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)
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
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>";
}
}
?>
//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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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/>";
}
?>
$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