Ik heb een stukje script gevonden van een fotoalbum waar je foto's kan uploaden en zien. Het ging me hier in het script om de code voor automatische nummering voor als er meer als 10 records zijn in een pagina (die records worden gehaald uit een database)
Ik wil dus dat stukje script van die fotoalbum aangepast hebben aan mijn script.
Hoe kan ik die code ombuigen, zodat die in mijn script werkt.
Dit is het script van de fotoalbum (het stukje script over de aut. nummering):
<?php
//aantal rijen en kolommen in stellen. De dir waar je je foto's moet in zetten heet "foto". Deze index.php moet
//één directory hoger staan
//Wil je dat wijzigen, dan moet je niet vergeten het stukje JavaScript hier boven ook te wijzigen.
//ik had de tabellen ook vanaf hier willen configgen, maar dat zijn slechts 3 regels dus dat
//doe je zelf maar
$rows = 4;
$cols = 5;
//pagina nummer ophalen, indien geen pagina nummer op 0 zetten
if(isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 0;
}
//totaal aantal foto's, om het aantal pagina's uit te rekenen
$num_pics = count($result_array);
//wat vars en andere rommel om de juiste pagina's en array's door te lopen
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;
//array vullen met waarden voor de slice om afbeeldingen per pagina weer te geven
for($k=0;$k<$pages;$k++)
{
array_push($slices, $push);
$push = $push + $cells;
}
//lusje om te kijken op welke pagina we zijn en vervolgens de goede set afbeeldingen uit $result_array halen
for($k=0;$k<$pages;$k++)
{
if($page == key($slices))
{
$output = array_slice($result_array, current($slices), $cells);
}
next($slices);
}
reset($output);
//afbeelden van afbeeldingen
print "<center>\n<table width='*' border='1' bordercolor='#000000' cellspacing='0' cellpadding='2'>\n";
for($i=0;$i<$rows;$i++)
{
print "\t<tr>\n";
for($j=0;$j<$cols;$j++)
{
if(current($output) != false)
{
$pic = current($output);
$size = getimagesize($dir.$pic);
$height_button = $size[1] + 70;
$value = current($output);
print "\t\t<td width='100' height='100' align=center>\n\t\t\t<a href=JavaScript:laatZien('$value',$height_button,$size[0],'$dir');>\n\t\t\t\t<img width='100' height='100' border='0' src='$dir$value'>\n\t\t\t</a>\n\t\t</td>\n\n";
next($output);
}
else
{
print "\t\t<td width='100' height='100' align='center'> </td>\n";
}
}
print "\t</tr>\n";
}
//hier worden de prev en next knopjes gemaakt.
$ref = $_SERVER['PHP_SELF'];
print "</table>\n";
if($num_pages == '0')
{
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
elseif(($page == '0')||($page == ''))
{
// geen previous knopje, begin pagina index.php?page=0
$next = $page + 1;
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
elseif($page == $num_pages)
{
// geen next knopje, $pages = maximum
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
else
{
// de rest, pagina's in het midden, 2 knopjes
$next = $page + 1;
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
//pagina nummer afbeelden, dit kan je er nog uit slopen of ergens anders neerkwakken
print "<br><br>";
print "Pagina: $showpage van $pages";
?>
////////////////////////////////////////////////////////
Dit is mijn script, waar dat dus ingevoegd moet worden met de juiste codes om aut. nummering te krijgen:
<?php
// Laat alle errors zien
error_reporting(E_ALL);
// Definities benodigt voor ADO-connectie
define('adCmdStoredProc', 4);
define('adOpenStatic', 3);
define('adUseClient', 3);
define('adLockOptimistic', 3);
define('adLockreadOnly', 1);
define('adOpenForwardOnly',0);
// Database initialiseren
$conn = new COM('ADODB.Connection');
$db = 'c:\website\JP\EBI\EBI.mdb';
$conn->CursorType = adOpenForwardOnly;
$conn->CursorLocation = 3;
$conn->LockType = 1;
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)};Persist Security info=false; DBQ=$db");
// Include de FormHandler libs
include 'FH3/class.FormHandler.php';
// Functie welke wordt aangeroepen na het opslaan
function FH_handle($id, $data)
{
header('location:index.php');
}
// Toon lijst
$sql = "SELECT TOP 7 * FROM qryUnion2 ORDER BY Naam";
$rs = $conn->Execute($sql);
// Start een nieuw formulier gebaseerd op FormHandler
$form = &new FormHandler();
// Gebruik de Access-database, tabel mdb
$form->dbInfo('ebi\EBI.mdb', 'mdb', 'access');
$form->dbConnect('', '', '');
// Zet het formulier op het scherm
$form->Flush();
?>
<center><b><h2>EBI-Registratie</h2></b></center>
<table border="1" bordercolor="#000000">
<tr>
<th>Naam</th>
<th>Adres</th>
<th>Woonplaats</th>
</tr>
<?
while (!$rs->EOF)
{
?>
<tr>
<td><?= $rs->Fields['Naam']->Value; ?></td>
<td><?= $rs->Fields['Adres']->Value; ?></td>
<td><?= $rs->Fields['Woonplaats']->Value; ?></td>
</tr>
<?
$rs->MoveNext();
}
?>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Wie kan mij helpen door het toe te passen in mijn script.
Ik dank u alvast hartelijk!!
Ik wil dus dat stukje script van die fotoalbum aangepast hebben aan mijn script.
Hoe kan ik die code ombuigen, zodat die in mijn script werkt.
Dit is het script van de fotoalbum (het stukje script over de aut. nummering):
<?php
//aantal rijen en kolommen in stellen. De dir waar je je foto's moet in zetten heet "foto". Deze index.php moet
//één directory hoger staan

//Wil je dat wijzigen, dan moet je niet vergeten het stukje JavaScript hier boven ook te wijzigen.
//ik had de tabellen ook vanaf hier willen configgen, maar dat zijn slechts 3 regels dus dat
//doe je zelf maar

$rows = 4;
$cols = 5;
//pagina nummer ophalen, indien geen pagina nummer op 0 zetten
if(isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 0;
}
//totaal aantal foto's, om het aantal pagina's uit te rekenen
$num_pics = count($result_array);
//wat vars en andere rommel om de juiste pagina's en array's door te lopen
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;
//array vullen met waarden voor de slice om afbeeldingen per pagina weer te geven
for($k=0;$k<$pages;$k++)
{
array_push($slices, $push);
$push = $push + $cells;
}
//lusje om te kijken op welke pagina we zijn en vervolgens de goede set afbeeldingen uit $result_array halen
for($k=0;$k<$pages;$k++)
{
if($page == key($slices))
{
$output = array_slice($result_array, current($slices), $cells);
}
next($slices);
}
reset($output);
//afbeelden van afbeeldingen
print "<center>\n<table width='*' border='1' bordercolor='#000000' cellspacing='0' cellpadding='2'>\n";
for($i=0;$i<$rows;$i++)
{
print "\t<tr>\n";
for($j=0;$j<$cols;$j++)
{
if(current($output) != false)
{
$pic = current($output);
$size = getimagesize($dir.$pic);
$height_button = $size[1] + 70;
$value = current($output);
print "\t\t<td width='100' height='100' align=center>\n\t\t\t<a href=JavaScript:laatZien('$value',$height_button,$size[0],'$dir');>\n\t\t\t\t<img width='100' height='100' border='0' src='$dir$value'>\n\t\t\t</a>\n\t\t</td>\n\n";
next($output);
}
else
{
print "\t\t<td width='100' height='100' align='center'> </td>\n";
}
}
print "\t</tr>\n";
}
//hier worden de prev en next knopjes gemaakt.
$ref = $_SERVER['PHP_SELF'];
print "</table>\n";
if($num_pages == '0')
{
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
elseif(($page == '0')||($page == ''))
{
// geen previous knopje, begin pagina index.php?page=0
$next = $page + 1;
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
elseif($page == $num_pages)
{
// geen next knopje, $pages = maximum
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
else
{
// de rest, pagina's in het midden, 2 knopjes
$next = $page + 1;
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
//pagina nummer afbeelden, dit kan je er nog uit slopen of ergens anders neerkwakken
print "<br><br>";
print "Pagina: $showpage van $pages";
?>
////////////////////////////////////////////////////////
Dit is mijn script, waar dat dus ingevoegd moet worden met de juiste codes om aut. nummering te krijgen:
<?php
// Laat alle errors zien
error_reporting(E_ALL);
// Definities benodigt voor ADO-connectie
define('adCmdStoredProc', 4);
define('adOpenStatic', 3);
define('adUseClient', 3);
define('adLockOptimistic', 3);
define('adLockreadOnly', 1);
define('adOpenForwardOnly',0);
// Database initialiseren
$conn = new COM('ADODB.Connection');
$db = 'c:\website\JP\EBI\EBI.mdb';
$conn->CursorType = adOpenForwardOnly;
$conn->CursorLocation = 3;
$conn->LockType = 1;
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)};Persist Security info=false; DBQ=$db");
// Include de FormHandler libs
include 'FH3/class.FormHandler.php';
// Functie welke wordt aangeroepen na het opslaan
function FH_handle($id, $data)
{
header('location:index.php');
}
// Toon lijst
$sql = "SELECT TOP 7 * FROM qryUnion2 ORDER BY Naam";
$rs = $conn->Execute($sql);
// Start een nieuw formulier gebaseerd op FormHandler
$form = &new FormHandler();
// Gebruik de Access-database, tabel mdb
$form->dbInfo('ebi\EBI.mdb', 'mdb', 'access');
$form->dbConnect('', '', '');
// Zet het formulier op het scherm
$form->Flush();
?>
<center><b><h2>EBI-Registratie</h2></b></center>
<table border="1" bordercolor="#000000">
<tr>
<th>Naam</th>
<th>Adres</th>
<th>Woonplaats</th>
</tr>
<?
while (!$rs->EOF)
{
?>
<tr>
<td><?= $rs->Fields['Naam']->Value; ?></td>
<td><?= $rs->Fields['Adres']->Value; ?></td>
<td><?= $rs->Fields['Woonplaats']->Value; ?></td>
</tr>
<?
$rs->MoveNext();
}
?>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Wie kan mij helpen door het toe te passen in mijn script.
Ik dank u alvast hartelijk!!