• User Attivo

    php switch

    Va bene scritto così il comando switch?
    E poi il link se ho capito bene dovrebbe essere
    scheda.php?venezia=storico&page=1 (per scegliere dal database la riga 1)
    o
    scheda.php?venezia=sanmarco&page=1 per la seconda opzione e così via per altre opzioni.
    L'idea è che da una stessa tabella del database attraverso il link si possano scegliere determinate colonne piuttosto che altre attraverso lo switch.
    Ecco il php:
    [php]<?php
    // qui ho una funzione precedente per il conteggio dei record
    // Recupero i record per la pagina corrente...
    // utilizzando LIMIT per partire da $first e contare fino a $x_pag
    $storico = {
    $rsstorico = mysql_query("SELECT img_id, storia, corpo, menu, image FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rsstorico);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rstorico);
    $immagini = $row['image'];}
    }
    };
    //seconda opzione
    $sanmarco = {
    $rssanmarco = mysql_query("SELECT img_id2, san_marco, link, image FROM venezia z, immagini i WHERE z.img2_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rssanmarco);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rssanmarco);
    $immagini = $row['image'];}
    }
    };
    ?>
    <?php
    $venezia = (storico, sanmarco);
    switch ($venezia) {
    case "storico":
    echo //istruzioni
    break;
    case "sanmarco":
    echo //istruzioni
    break;
    default
    echo "Nessun record trovato!";
    break;
    }
    mysql_close($db);
    ?>
    [/php]
    Mi dà però errore all'attribuzione delle variabili $storico e $sanmarco.
    Aiuto!!!!!


  • ModSenior

    Ciao stefana,
    fai attenzione alle maiuscole e alla punteggiatura...
    Per quanto riguarda il problema a volte utilizzi storico invece di $storico, dovresti in ogni caso postarci gli errori così non dobbiamo controllarci tutto il codice, ma esclusivamente la parte che genera errore.


  • User Attivo

    Ciao usando dreamweaver e visualizzandolo nel roswer mi dice errore alle riga....
    Che corrisponde all'inizio dello script php

    <?php

    // in corrispondenza di $storico mi dà l'errore, per cui non so che tipo di errore sia e se ci sono poi altri errori...grazie

    $storico = {
    $rsstorico = mysql_query("SELECT img_id, storia, corpo, menu, image FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rsstorico);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rstorico);
    $immagini = $row['image'];}
    }
    };
    $sanmarco = {
    $rssanmarco = mysql_query("SELECT img_id2, san_marco, link, image FROM venezia z, immagini i WHERE z.img2_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rssanmarco);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rssanmarco);
    $immagini = $row['image'];}
    }
    };
    ?>


  • User Attivo

    ciao usando dreamweaver e visualizzandolo nel roswer mi dice errore alle riga....
    che corrisponde all'inizio dello script php

    <?php

    // in corrispondenza di $storico mi dà l'errore, per cui non so che tipo di errore sia e se ci sono poi altri errori...grazie

    $storico = {
    $rsstorico = mysql_query("SELECT img_id, storia, corpo, menu, image FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rsstorico);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rstorico);
    $immagini = $row['image'];}
    }
    };
    $sanmarco = {
    $rssanmarco = mysql_query("SELECT img_id2, san_marco, link, image FROM venezia z, immagini i WHERE z.img2_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rssanmarco);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rssanmarco);
    $immagini = $row['image'];}
    }
    };
    ?>


  • ModSenior

    Fai attenzione ad iniziare i tuoi messaggi con la maiuscola.
    Il codice che hai postato non ha senso, cosa vuoi mettere in $storico?
    In ogni caso devi incollarci l'errore, esattamente come lo vedi.


  • User Attivo

    Questo è quanto mi appare a video:
    Parse error: parse error in C:\wamp\www\sivainitalia\nord\veneto\venezia\venezia2.php on line 449
    quanto segue è tutto il codice e la linea 449 corrisponde al punto in cui c'è //$storico =

    <?php
    $x_pag = 1;// Righe per pagina
    $pageNum = 1; // Pagina iniziale di default
    // Recupero il numero di pagina corrente.
    if(isset($_GET['page']))
    {
    $pageNum = $_GET['page'];
    }
    // Uso mysql_num_rows per contare le righe presenti
    // all'interno della tabella
    $all_rows = mysql_num_rows(mysql_query("SELECT * FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT 1, 24"));
    // Tramite una semplice operazione matematica definisco
    // il numero totale di pagine
    $all_pages = ceil($all_rows / $x_pag);
    $self = $_SERVER['PHP_SELF'];
    $nav = '';
    for($page = 1; $page <= $all_pages; $page++)
    {
    if ($page == $pageNum)
    {
    $nav .= " $page ";
    }
    else
    {
    $nav .= " <a href="$self?page=$page">$page</a> ";
    }
    }

    // Calcolo da quale record iniziare
    $first = ($pageNum - 1) * $x_pag;
    ?>
    <?php
    // Recupero i record per la pagina corrente...
    // utilizzando LIMIT per partire da $first e contare fino a $x_pag
    $storico = {
    $rsstorico = mysql_query("SELECT img_id, storia, corpo, menu, image FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rsstorico);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rstorico);
    $immagini = $row['image'];}
    }
    };
    $sanmarco = {
    $rssanmarco = mysql_query("SELECT img_id2, san_marco, link, image FROM venezia z, immagini i WHERE z.img2_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rssanmarco);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rssanmarco);
    $immagini = $row['image'];}
    }
    };
    ?>
    <?php
    $venezia = ($storico, $sanmarco);
    switch ($venezia) {
    case "$storico":
    echo "<table border='0' align='center' cellpadding='5' cellspacing='2'><tr>";
    echo "<td colspan='2' align='center' valign='middle'>" . "<img src="$immagini"/ >" . "</td>");
    echo "</tr><tr>";
    echo "<td colspan='2'><img src='../../../immagini/transparent.gif' width='300' height='20' align='top' /></td>";
    echo "</tr><tr>";
    echo "<td><img src='../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='right' valign='middle'><h1>" . $row['storia'] . "</h1></td>";
    echo "</tr><tr>";
    echo "<td colspan='2'><img src='../../../immagini/transparent.gif' width='300' height='20' align='top' /></td>";
    echo "</tr><tr>";
    echo "<td><img src='../../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='left'><h5>" . $row['corpo'] . "</h5></td>";
    echo "</tr><tr>";
    echo "<td colspan='2'><img src='../../../immagini/transparent.gif' width='300' height='20' align='top' /></td>";
    echo "</tr><tr>";
    echo "<td><img src='../../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='center'><h5>" . $row['menu'] . "</h5></td>";
    echo "</tr></table>";
    break;
    case "$sanmarco":
    echo "<table border='0' align='center' cellpadding='5' cellspacing='2'><tr>";
    echo "<td colspan='2' align='center' valign='middle'>" . "<img src="$immagini"/ >" . "</td>");
    echo "</tr><tr>";
    echo "<td colspan='2'><img src='../../../immagini/transparent.gif' width='300' height='20' align='top' /></td>";
    echo "</tr><tr>";
    echo "<td><img src='../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='right' valign='middle'><h1>" . $row['san_marco'] . "</h1></td>";
    echo "</tr><tr>";
    echo "<td colspan='2'><img src='../../../immagini/transparent.gif' width='300' height='20' align='top' /></td>";
    echo "</tr><tr>";
    echo "<td><img src='../../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='left'><h5>" . $row['link'] . "</h5></td>";
    echo "</tr></table>";
    break;
    default
    echo "Nessun record trovato!";
    break;
    }
    mysql_close($db);
    ?>