Avatar billede kodak Mester
24. november 2009 - 16:41 Der er 6 kommentarer og
1 løsning

opsætning af php

Hej jeg har følgendene kode jeg gerne vil have en mappe struktur på er der nogen der kan hjælpe mig med det?

detvil side når den har visd de 5 første skal sen vise de 5 næste 5 i en tabel under o.s.v.

<?php
$rdr = new XMLReader();
$rdr->xmL(file_get_contents('smu/udvalg.xml'));

$n = 0;
while($rdr->read()){
switch ($rdr->nodeType) {
case XMLReader::TEXT:
$s = $rdr->value;
break;
case XMLReader::ELEMENT:
if($rdr->localName == 'top') {
$no = $rdr->getAttribute('no');
}
break;
case XMLReader::END_ELEMENT:
if($rdr->localName == 'navn') {
$navn = $s;
} else if($rdr->localName == 'efternavn') {
$efternavn = $s;
} else if($rdr->localName == 'button') {
$button = $s;
} else if($rdr->localName == 'adresse') {
$adresse = $s;
} else if($rdr->localName == 'kontakt') {
$kontakt = $s;
} else if($rdr->localName == 'top') {
if ($n==4) continue; //Hvormange der må vises.
echo "<td>\r\n";
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo "<table>
<tr>
        <td><a href=\"mailto:" . $kontakt . "\"><img src=\"images/medlem/" . $button . ".png\" width=\"60\" height=\"60\" alt=\"" . $navn . "&nbsp;" . $efternavn . "\" border=\"0\" align=\"absmiddle\"><p class=\"ungdom01\">&nbsp;" . $navn . "<br>&nbsp;" . $efternavn . "</a></p></td>
</tr>
</table>";
$n++;
echo "</td>\r\n";
}
break;
}
}
?>
Avatar billede public2 Nybegynder
24. november 2009 - 17:32 #1
Skal lige forstå det korrekt...

Er det en såkaldt paging / pagination funktion du søger, hvor man følger et link til de næste / forrige fem osv. ?

Eller er det én side du vil have, men hvor kun fem resultater er i en tabel, derefter bliver den lukket og de fem næste kommer i en ny tabel under den første, og så fremdeles?
Avatar billede kodak Mester
24. november 2009 - 17:40 #2
Af den kode jeg viste laver den en linie med 4 iconer (med tekst)
og ikke andet

Jeg vil gerne have at den viser 5 på linie og derefter i næste ræike viser de 4 næste

eksempemvis:

<table>
<tr>
        <td>1 - 2 - 3 - 4 - 5</td>
</tr>
<tr>
        <td>6 - 7 - 8 - 9 - 10</td>
</tr>
<tr>
        <td>Er der flere skal den fortsætte</td>
</tr>
</table>

og ikke bare som den gør nu.

<table>
<tr>
        <td>1 - 2 - 3 - 4</td>
</tr>
</table>
Avatar billede FrederikBache Nybegynder
24. november 2009 - 21:01 #3
Dit check af if($n == 4) kommer før du sætter noget ind, dvs. før du skal til at sætte den 5. ind. Derfor får du kun 4 i en række. Så det skal du ændre til if($n == 5). Dernæst skal du huske at nulstille $n, da du ellers vil if($n == 5) blive ved med at evaluere til sand.
Avatar billede kodak Mester
24. november 2009 - 22:48 #4
Ved godt at "$n == 4" skal skiftes til "$n == 5"
Resten forstår jeg ikke.
Hvordan ved næste linie hvilken en den skal starte med.
Avatar billede kodak Mester
02. december 2009 - 16:19 #5
Nu har jeg frøvet flere ting man kan ikke få den til det.
Min kode seså ledes ud:

<table border="0" cellpadding="0" cellspacing="0" width="95%" align="right">
<tr valign="top">
                <td>
<?php
$rdr = new XMLReader();
$rdr->xmL(file_get_contents('smu/udvalg.xml'));

$n = 0;
while($rdr->read()){
switch ($rdr->nodeType) {
case XMLReader::TEXT:
$s = $rdr->value;
break;
case XMLReader::ELEMENT:
if($rdr->localName == 'top') {
$no = $rdr->getAttribute('no');
}
break;
case XMLReader::END_ELEMENT:
if($rdr->localName == 'navn') {
$navn = $s;
} else if($rdr->localName == 'button') {
$button = $s;
} else if($rdr->localName == 'adresse') {
$adresse = $s;
} else if($rdr->localName == 'kontakt') {
$kontakt = $s;
} else if($rdr->localName == 'top') {
if ($n==4) continue; //Hvormange der må vises.
echo "<td>\r\n";
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo "<table>
<tr>
        <td><a href=\"?main=udvalg.&udvalg=" . $adresse . "\"><img src=\"images/" . $button . ".png\" width=\"60\" height=\"60\" alt=\"" . $navn . "\" border=\"0\" align=\"absmiddle\"></a><a href=\"?main=udvalg.&udvalg=" . $adresse . "\"><p class=\"ungdom01\"> " . $navn . "</a></p></td>
</tr>";

VIL MENE AT DER SKULLE NOGET IND HER SELV OM DET ER DET SAMME DEN SKAL GØRE.

echo "
<tr>
        <td><a href=\"?main=udvalg.&udvalg=" . $adresse . "\"><img src=\"images/" . $button . ".png\" width=\"60\" height=\"60\" alt=\"" . $navn . "\" border=\"0\" align=\"absmiddle\"></a><a href=\"?main=udvalg.&udvalg=" . $adresse . "\"><p class=\"ungdom01\"> " . $navn . "</a></p></td>
</tr>
</table>";
$n++;
echo "</td>\r\n";
}
break;
}
}
?>
</td>
</tr>
</table>
Avatar billede kodak Mester
05. december 2009 - 00:09 #6
er du sikker på at jeg ikke skal have $n til at tælle vidre?
skal den ikke tælle vidre i næste tabel?
Avatar billede kodak Mester
05. december 2009 - 16:29 #7
Fandt en løsning

i stedet for at nulstille eller overhoved bruge tælle funktionen, benyttede jeg mig afdenne

if ($no==1) {
echo "tekst";
}
Som gør at den kun kan vise den der har nummer 1
Og så plaserede jeg en i hver <tb>

Men takker aligevel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB