• User Attivo

    problema richiamare foto in base ad una $variabile

    vorrei richiamare delle foto in base al numero id_user che prendo dal db:

    <?php
    session_start();

    ?>
    <html>
    <head>

    <body onLoad="setTimeout('document.step1.submit();', 3000);">
    <form name="step1" action="step1.php" method="get">

    <title>Step1foto</title>
    </head>

    <?php

    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);

    $query = mysql_query("SELECT id_user, data FROM messaggi ORDER BY data DESC limit 1");
    while($riga = mysql_fetch_assoc($query))
    {
    $id_user = $riga['id_user'];
    }
    while($riga = mysql_fetch_assoc($query))
    {
    echo $riga["id_user"];
    }

    $nr_immagine = ($id_user - 833) * 10 + 1 + $offset;
    $directory = "C:\Programmi\EasyPHP1-8\www\fotos";

    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";

    if($offset < 50) {
    $offset++; }

    ?>
    <?php

    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];

    ?>
    </body>

    </html>

    pero' mi da diversi errori:

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\step1foto.php on line 24

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\step1foto.php on line 28

    Notice: Undefined variable: id_user in c:\programmi\easyphp1-8\www\step1foto.php on line 34

    Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 34

    Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 40

    Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto


  • User

    Ciao,

    non sono sicuro di quello che ti dico (non sono una gran esperto..) ma per la query prova a non usare il cliclo while dato che cmq estrai 1 solo record.
    perciò da while($riga = mysql_fetch_assoc($query)) -> $riga = mysql_fetch_assoc($query). E poi non hai bisogno di richiamarla 2 volte, anche perchè nelle 2 chiamate del while usi 2 tipi di apici.

    Per la variabile $offset prova a valorizzarla con un numero prima di usarla


  • User

    Può darsi che ci sia un errore nella query, prova ad aggiungere un controllo sul risultato di mysql_query prima del primo ciclo while:

    if(!$query) {

    echo "Errore db";

    }

    così ti rendi subito conto se la query è corretta Saluti


  • User Attivo

    ho provato cosi':

    <?php

    $connessione=mysql_connect("localhost", ");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $query = mysql_query("SELECT id_user, data FROM messaggi ORDER BY data DESC limit 1");
    while($riga = mysql_fetch_assoc($query)) -> $id_user = mysql_fetch_assoc($query).

    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset;
    $directory = "C:\Programmi\EasyPHP1-8\www\fotos";
    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";
    if($offset < 50) {
    $offset++; }
    ?>

    dice questo

    Parse error: parse error in c:\programmi\easyphp1-8\www\step1foto.php on line 25


  • User Attivo

    questo è il tutto adesso:

    ho provato:

    <?php

    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $query = mysql_query("SELECT id_user, data FROM messaggi ORDER BY data DESC limit 1");
    while($id_user = mysql_fetch_assoc($query))
    {
    $id_user = $id_user['id_user'];
    echo $id_user["id_user"];
    }

    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset;
    $directory = "C:\Programmi\EasyPHP1-8\www\fotos";
    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";
    if($offset < 50) {
    $offset++; }
    ?>

    mysql:

    -- phpMyAdmin SQL Dump
    -- version 2.6.1

    --
    -- Host: localhost
    -- Generato il: 19 Mag, 2008 at 06:54 PM
    -- Versione MySQL: 4.1.9
    -- Versione PHP: 4.3.10

    -- Database: guest_book


    --
    -- Struttura della tabella messaggi

    CREATE TABLE messaggi (
    id_user int(10) NOT NULL auto_increment,
    username varchar(65) NOT NULL default '',
    password varchar(65) NOT NULL default '',
    user varchar(20) NOT NULL default '',
    gender varchar(10) NOT NULL default '',
    date_of_birth date NOT NULL default '0000-00-00',
    country varchar(30) NOT NULL default '',
    test_arousal_photo1 tinyint(3) default NULL,
    test_valence_photo1 tinyint(3) default NULL,
    ....
    ....
    sempre i soliti errori..:?


  • User Attivo

    ho corretto un comando che mi dava un errore, ma subito se ne presentano altri.

    <?php
    session_start();
    ?>
    <html>
    <head>

    <body onLoad="setTimeout('document.step1.submit();', 3000);">
    <form name="step1" action="step1.php" method="get">
    <title>Step1foto</title>
    </head>
    <?php

    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $query = mysql_query("SELECT id_user, data FROM messaggi ORDER BY date DESC limit 1");
    while($riga = mysql_fetch_assoc($query)) Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\step1foto.php on line 25
    {
    $id_user = $riga['id_user'];
    echo $riga["id_user"];
    }
    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset; Notice: Undefined variable: id_user in c:\programmi\easyphp1-8\www\step1foto.php on line 31
    Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 31
    $directory = "C:\Programmi\EasyPHP1-8\www\fotos";
    $image_src = $directory . "image" . $nr_immagine . ".jpg"; Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 37

    echo "<img src="$image_src">"; Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 38
    if($offset < 50) {
    $offset++; }
    ?>

    <?php
    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];
    ?>
    </body>
    </html>