Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema stampa ciclo for per sitemap

    ciao,
    sto scrivendo uno script per la creazione automatica della sitemap.xml, non ho problemi con la creazione del file, ma quando devo andare ad inserire le varie pagine mi stampa solo quella con valore più alto

    mi spiego meglio, utilizzo questo codice per "contare" il numero di pagine e per poi scriverle nel file xml

    Codice PHP:
    $count mysql_query("SELECT COUNT(id) FROM tabella WHERE cat='$categoria'")or die(mysql_error());
        
    $contaid mysql_fetch_row($count);
        
    $totid $contaid[0];
        
    $perpagina 10;
        
    $totpagine ceil($totid $perpagina);
        for(
    $i 1$i <= $totpagine$i++) {
            
    $paginazione "
            <url><loc type=\"string\"> 
    $url/$categoria/index$i.php</loc>
    <lastmod type=\"string\"> 
    $data </lastmod>
    <changefreq type=\"string\"> monthly </changefreq>
    <priority type=\"string\">0.80</priority>        
    </url>"
    ;
        } 
    il problema che è mi dovrebbe stampre valori del tipo index1.php, index2.php eccetera per ogni categoria, invece il valore $i che passa è solo quello più alto (se ci sono 8 pagine stampa solo l'8)

    dove sbaglio? grazie
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  2. #2

  3. #3
    Originariamente inviato da filippo.toso
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://dev.mysql.com/doc/refman/5.0/...ting-rows.html
    ma io non ho problemi con in count
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  4. #4

  5. #5
    ma che c'entra? mi sa che non hai capito la mia richiesta
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  6. #6
    Se hai 8 record, allora $totid conterrà 8, $totpagine conterrà ceil(8 / 10) ossia 1 ed il ciclo for verrà eseguito da 1 a 1, stampando solamente index1.php.

  7. #7
    appunto, non mi hai capito

    io ho scritto che se ci sono 8 pagine (non 8 record) mi stampa unicamente il valore più alto

    ad esempio

    ho 80 record che equivalgono ad 8 pagine

    invece di stampare index1.php, index2.php, ..., index8.php

    mi stampa unicamente index8.php
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  8. #8
    Codice PHP:
    $paginazione $paginazione "<url><loc .... 

  9. #9
    va meglio ma non va

    ora stampa ripetendo i valori sempre dall'inizio, cioè

    sito.it/categoria1/index1.php
    sito.it/categoria1/index2.php
    sito.it/categoria1/index1.php
    sito.it/categoria1/index2.php
    sito.it/categoria2/index1.php
    sito.it/categoria2/index2.php
    sito.it/categoria1/index1.php
    sito.it/categoria1/index2.php
    sito.it/categoria2/index1.php
    sito.it/categoria2/index2.php
    sito.it/categoria3/index1.php
    sito.it/categoria3/index2.php

    praticamente ogni volta riparte dalla prima riga e aggiunge la successiva
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  10. #10
    Studiati questo codice:

    Codice PHP:
    <?php 
    $paginazione 
    '';
    for (
    $i 1$i 10$i++) {
        
    $paginazione $paginazione $i "
    "
    ;
    }
    echo(
    $paginazione);
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.