Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 39
  1. #11
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    33
    Codice PHP:
    <? 
    include 'config.php';  
    $catList = array('Paesaggi''Ritratti');   
    $catList=array_rand($catList);   
    $catSel=$catList[0];  
      
    $result=mysql_query("SELECT * FROM img WHERE foto_cat=".$catSel." ORDER BY RAND() LIMIT 2") or die ("Errore query");  
      while(
    $row=mysql_fetch_array($result)){ 
      
    $id_img $row['foto_id'];  
      
    $type $row['foto_type'];  
      
    $img $row['foto'];  
        echo 
    $img;  

    ?>
    Ho provato così, ma mi dice errore query. Devo dirti che di diverso dal tuo ci sono le virgolette nella query alla variabile, perché se lascio come mi hai suggerito tu.$catSel. non viene riconosciuto. Anche se ancora non abbiamo risolto, lascia che ti ringrazi, sei gentilissimo.

  2. #12
    Questa va messa senza punti e con gli apici singoli:
    Codice PHP:
    $result=mysql_query("SELECT * FROM img WHERE foto_cat='$catSel' ORDER BY RAND() LIMIT 2") or die ("Errore query"); 
    Prova a stampare un valore e vedi se stampa qualcosa. Un echo qualsiasi, tipo:
    Codice PHP:
    echo $row['foto_id']; 
    Così capisci se è un problema di immagine o di estrazione.
    Ce l'ho fatta! - ItalianPixel -

  3. #13
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    33
    Penso sia un problema d'estrazione. Ho corretto gli apici e inserito l'echo, ma ancora pagina bianca.

  4. #14
    Partendo dalla base: connessione al database corretta? ci sono dati nel database? nomi dei record coincidono tra quelli estratti con $row e quelli del database?
    Se hai degli at @ nei vari file toglili perché può essere un errore che viene nascosto da quello.
    Ce l'ho fatta! - ItalianPixel -

  5. #15
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    33
    Il codice attuale è il seguente:
    Codice PHP:
    <? 
    include 'config.php';  
    $catList = array('Paesaggi''Ritratti');   
    $catList=array_rand($catList);   
    $catSel=$catList[0];  
      
    $result=mysql_query("SELECT * FROM img WHERE foto_cat='$catSel' ORDER BY RAND() LIMIT 2") or die ("Errore query");  
      while(
    $row=mysql_fetch_array($result)){ 
      
    $id_img $row['foto_id'];  
      
    $type $row['foto_type'];  
      
    $img $row['foto'];
      
    header ("Content-type: ".$type);
          echo 
    $img;  

    ?>
    Ho controllato il DB, ed è tutto ok, la prova del nove lo fatta sostituendo la query del codice sopra con:
    Codice PHP:
    "SELECT foto_id,foto_nome,foto_size,foto_type, foto, foto_cat,foto_naz FROM img WHERE foto_cat='Paesaggi' ORDER BY RAND() limit 2"
    Facendo così funziona fino ad un certo punto. Nel senso che mi visualizza solo una immagine, mentre ne dovrebbe dare due affiancate. Ho provato a passare la query a phpMyAdmin e li restituisce due righe cioè due foto. Quindi penso che ci sia qualcosa che non va nella query:
    Codice PHP:
      $result=mysql_query("SELECT * FROM img WHERE foto_cat='$catSel' ORDER BY RAND() LIMIT 2") or die ("Errore query"); 
    ma anche nel codice per via del fatto che con una query funzionante visualizza solo una immagine. Non ho la più pallida idea di cosa fare.

  6. #16
    Allora il problema deve essere da qualche altra parte. Prova questo ultimo codice:
    [PHP]
    <?_
    include_'config.php';__
    header_("Content-type:_".$type);
    $catList_=_array('Paesaggi',_'Ritratti');___
    $catList=array_rand($catList);___
    $catSel=$catList[0];__
    __$result=mysql_query("SELECT_*_FROM_img_WHERE_fot o_cat='$catSel'_ORDER_BY_RAND()_LIMIT_2")_or_die_( "Errore_query");__
    __while($row=mysql_fetch_array($result)){_
    __$id_img_=_$row['foto_id'];__
    __$type_=_$row['foto_type'];__
    __$img_=_$row['foto']; __
    ______echo_$img;__
    }_
    ?>_
    [\PHP]
    la query è giusta, l'estrazione pure. Prova a creare una seconda tabella con due semplici campi:id e titolo. Popolali con qualche record e usa la connessione che usi per questo script. Vedi cosa ottieni. Prova anche a postare il codice di connessione. Magari riesco a darci un occhio e vedere se il problema può risiedere lì. Ma ovviare al problema caricando le immagini sul server invece che sul db? Ti semplifichi la vita, assicurato.

    Scrivo dall'ipad e non ha formattato nulla! Mah, cerca di capirci qualcoasa, magari domani riposto meglio. Intanto dimmi come va questo. Buona serata.
    Ce l'ho fatta! - ItalianPixel -

  7. #17
    Credo che così sia giusto:


    Codice PHP:
    include 'config.php'
    header ("Content-type: ".$type); 
    $catList=array('Paesaggi','Ritratti'); 
    $catList=array_rand($catList);
    $catSel=$catList[0];
    $result=mysql_query("SELECT * FROM img WHERE foto_cat='$catSel' ORDER BY RAND() LIMIT 2") or die ("Errore query");
    while(
    $row=mysql_fetch_array($result)){
         
    $id_img $row['foto_id'];
         
    $type $row['foto_type'];
         
    $img $row['foto'];
         echo 
    $img;

    Ce l'ho fatta! - ItalianPixel -

  8. #18
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    33
    Perdona il ritardo, ma internet non mi funzionava. Ieri sera ho fatto le prove che mi hai detto di fare:
    Prova a creare una seconda tabella con due semplici campi:id e titolo. Popolali con qualche record e usa la connessione che usi per questo script. Vedi cosa ottieni.
    Così facendo ottengo la visualizzazione dei 2 risultati richiesti. Però non funziona con la variabile nella query, cioè devo indicare io da quale categoria estrarre i due risultati. Ho provato a fare lo stesso, ma con le foto e non funziona, o meglio, mi visualizza solo una foto. Ti fornisco il codice del file config.php:
    Codice PHP:
    <?
    $host 
    'localhost';
    $username 'root';
    $password '';
    $db 'sito';
    $conn mysql_connect($host,$username,$password) or die (mysql_error());
    $sel mysql_select_db($db) or die (mysql_error());
    ?>
    A questo punto penso che sia un problema della tabella con le immagini, quindi ti allego anche la struttura che ho usato.

  9. #19
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    33
    CREATE TABLE IF NOT EXISTS `img` (
    `foto_id` int(11) NOT NULL auto_increment,
    `foto_name` varchar(50) NOT NULL,
    `foto_type` varchar(25) NOT NULL,
    `foto_size` varchar(25) NOT NULL,
    `foto_cat` varchar(25) NOT NULL,
    `foto_naz` varchar(25) NOT NULL,
    `foto` mediumblob NOT NULL,
    ) ENGINE=MyISAM;

  10. #20
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Originariamente inviato da portapipe
    Credo che così sia giusto:


    Codice PHP:
    include 'config.php'
    header ("Content-type: ".$type); 
    $catList=array('Paesaggi','Ritratti'); 
    $catList=array_rand($catList);
    $catSel=$catList[0];
    $result=mysql_query("SELECT * FROM img WHERE foto_cat='$catSel' ORDER BY RAND() LIMIT 2") or die ("Errore query");
    while(
    $row=mysql_fetch_array($result)){
         
    $id_img $row['foto_id'];
         
    $type $row['foto_type'];
         
    $img $row['foto'];
         echo 
    $img;

    Io vedo un errore in questa cosa:
    array_rand, estrae delle chiavi e non dei valori, quindi in $catSle ti ritrovi 0 o 1 a seconda che sia stata estratta la chiave per 'Paesaggi' o per 'Ritratti'
    Codice PHP:
    $catList=array_rand($catList);
    $catSel=$catList[0];
    $result=mysql_query("SELECT * FROM img WHERE foto_cat='$catSel' ORDER BY RAND() LIMIT 2") or die ("Errore query"); 
    è sbagliato ma lo puoi correggere in
    Codice PHP:
    $catSel=array_rand($catList);
    $result=mysql_query("SELECT * FROM img WHERE foto_cat='{$catList[$catSel]}' ORDER BY RAND() LIMIT 2") or die ("Errore query"); 
    Se poi ci sono altri errori questo non lo so.
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

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 © 2026 vBulletin Solutions, Inc. All rights reserved.