Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema con doppia vetrina

    Un saluto a tutto il Forum ...

    Ho un problema, probabilmente di semplice soluzione ma che non riesco a risolvere ...

    ho costruito queste due vetrine in php:

    http://www2.mecox.com/

    codice:
    <body>
    
    <div id="container">
    
    
    <?include("inc/new.inc.php")?>
    
    
    	
    <?include("inc/window.inc.php")?>
    	
    
    </div>
    
    </body>
    questi gli include

    NEWS.INC.PHP

    codice:
    <div id="new">
    
    <div class="head">- Le ultime Novità -</div>
    <div class="content">
    <?
    if (!$con_new)
    	{
    
    	$con_new=mysql_connect($srv_lgn,$user_lgn,$pwd_lgn);
    	mysql_select_db($db_lgn);}
    
    function genera_scheda_new($row_new)
    	{global $con_new,$key;
    	$num_new=0;
    $descrizione_new=$row_new[2];
    if (strlen($descrizione_new)>50)
    	{$descrizione_new=substr($descrizione_new,0,50)." [...]";}
    
    	$sql_new="SELECT nome FROM brand WHERE id=".$row_new[10];
    	if (!$rs_new=mysql_query($sql_new,$con_new))
    		{print_error("COLLEGAMENTO CON IL DB NON RIUSCITO");
    		return false;}
    	$rows_new=mysql_fetch_array($rs_new);
    	
    echo '
    <p class="row">[img]img/pic/'.$row_new[7].'.jpg[/img]</p>
    
    ';
    	$arr_new=explode(":",$row_new[9]);
    	$cat_new=$arr_new[count($arr_new)-2];
    	$sql_new="SELECT nome FROM cat WHERE id=".$cat_new;
    
    	if (array_search($cat_new,$arr_new)==1)
    		{$link_new='j';}
    	else
    		{$link_new='m';}
    
    	if (!$rs_new=mysql_query($sql_new,$con_new))
    		{print_error("COLLEGAMENTO CON IL DB NON RIUSCITO");
    		return false;}
    	$rowc_new=mysql_fetch_array($rs_new);
    	echo $link_new.'<p class="row">'.$rowc_new[0].'</a></p>
    	';
    	
    	echo '
    	
    <p class="row">'.$descrizione_new.'</p>
    
    <p class="row"></p>
    	
    ';}
    
    function crea_seme_new()
    	{list($usec_new, $sec_new) = explode(' ', microtime());
        return (float) $sec_new + ((float) $usec_new * 200000);}
    
    function genera_caso_new($divisore_new)
    	{$seme_new=crea_seme_new();
    
    	mt_srand($seme_new);
    	$caso_new=mt_rand();
    
    	return $caso_new%$divisore_new;}
    
    $sql_new="SELECT * FROM prodotti WHERE Novita=1 AND status<>1";
    $ordine_new=array("IDCodice","Codice","Descrizione","A","B","C","D","Novita","tab","Immagini","TitoloCodice");
    srand ((float)microtime()*2000000);
    shuffle($ordine_new);
    $indice_new=genera_caso_new(count($ordine_new));
    $sql_new.=" ORDER BY ".$ordine_new[$indice_new];
    srand ((float)microtime()*2000000);
    shuffle($ordine_new);
    $indice_new=genera_caso_new(count($ordine_new));
    $sql_new.=",".$ordine_new[$indice_new];
    srand ((float)microtime()*2000000);
    shuffle($ordine_new);
    $indice_new=genera_caso_new(count($ordine_new));
    $sql_new.=",".$ordine_new[$indice_new];
    
    switch (genera_caso_new(2))
    	{case "0":
    		$sql_new.=" DESC";
    		break;}
    
    //TABELLA BASE
    $righe_new="1";
    $colonne_new="4";
    $rs_new=mysql_query($sql_new);
    $i_new=1;
    echo '<table>';
    for ($x_new=1;$x_new<=$righe_new;$x_new++)
    	{echo '<tr>';
    	for ($y_new=1;$y_new<=$colonne_new;$y_new++)
    		{echo '<td>';
    		if ($row_new=mysql_fetch_array($rs_new))
    			{genera_scheda_new($row_new);}
    		echo '</td>';
    		$i_new++;}
    	echo '</tr>';}
    
    echo '</table>';
    ?>
    </div>
    <div class="footer">Tutte le Novità</div>
    
    </div>
    WINDOW.INC.PHP

    codice:
    <div id="window">
    
    <div class="head">- Vetrina -</div>
    <div class="content">
    <?
    if (!$con_window)
    	{
    
    	$con_window=mysql_connect($srv_lgn,$user_lgn,$pwd_lgn);
    	mysql_select_db($db_lgn);}
    
    function genera_scheda_window($row_window)
    	{global $con_window,$key_window;
    	$num_window=0;
    $descrizione_window=$row_window[2];
    if (strlen($descrizione_window)>80)
    	{$descrizione_window=substr($descrizione_window,0,80)." [...]";}
    
    	$sql_window="SELECT nome FROM brand WHERE id=".$row_window[10];
    	if (!$rs_window=mysql_query($sql_window,$con_window))
    		{print_error("COLLEGAMENTO CON IL DB NON RIUSCITO");
    		return false;}
    	$rows_window=mysql_fetch_array($rs_window);
    	
    	$arr_window=explode(":",$row_window[9]);
    	$cat_window=$arr_window[count($arr_window)-2];
    	$sql_window="SELECT nome FROM cat WHERE id=".$cat_window;
    
    	if (array_search($cat_window,$arr_window)==1)
    		{$link_window='y';}
    	else
    		{$link_window='yy';}
    
    	if (!$rs_window=mysql_query($sql_window,$con_window))
    		{print_error("COLLEGAMENTO CON IL DB NON RIUSCITO");
    		return false;}
    	$rowc_window=mysql_fetch_array($rs_window);
    
    	echo '<p class="pic">[img]img/pic/'.$row_window[7].'.jpg[/img]</p>';
    	
    	echo '<p/p>';
    	
    	echo '<p class="row">'.$descrizione_window.'</p>';
    	
    	echo '<p/p>';
    	
    	echo '<p class="row">Dettagli</p>';
    	
    	echo '<p class="row_ref">'.$row_window[1].'</p>';
    	
    	echo $link_window.'<p class="row_ref">'.$rowc_window[0].'</p>';
    	
    	echo $link_window='<p class="row_ref">'.$rows_window[0].'</p>';
    	
    	echo '<div class="ripristino-float"></div>';
    	
    	echo '<p class="line"/p>';
    	}
    
    function crea_seme_window()
    	{list($usec_window, $sec_window) = explode(' ', microtime());
        return (float) $sec_window + ((float) $usec_window * 1000000);}
    
    function genera_caso_window($divisore_window)
    	{$seme_window=crea_seme_window();
    
    	mt_srand($seme_window);
    	$caso_window_window=mt_rand();
    
    	return $caso_window%$divisore_window;}
    
    $sql_window="SELECT * FROM prodotti WHERE vetrina=1 AND status<>1";
    $ordine_window=array("IDCodice","Codice","Descrizione","A","B","C","D","vetrina","tab","Immagine","TitoloCodice");
    
    srand ((float)microtime()*1000000);
    shuffle($ordine_window);
    $indice_window=genera_caso_window(count($ordine_window));
    $sql_window.=" ORDER BY ".$ordine_window[$indice_window];
    
    srand ((float)microtime()*1000000);
    shuffle($ordine_window);
    $indice_window=genera_caso_window(count($ordine_window));
    $sql_window.=",".$ordine_window[$indice_window];
    
    srand ((float)microtime()*1000000);
    shuffle($ordine_window);
    $indice_window=genera_caso_window(count($ordine_window));
    $sql_window.=",".$ordine_window[$indice_window];
    
    switch (genera_caso_window(2))
    	{case "0":
    		$sql_window.=" DESC";
    		break;}
    
    //TABELLA BASE
    $righe_window="6";
    $colonne_window="1";
    
    $rs_window=mysql_query($sql_window);
    $i_window=1;
    echo '<table width="100%" border="0">';
    echo '';
    for ($x_window=1;$x_window<=$righe_window;$x_window++)
    	{echo '<tr>';
    	for ($y_window=1;$y_window<=$colonne_window;$y_window++)
    		{echo '<td valign="top" class="txt_small" align="left">';
    		if ($row_window=mysql_fetch_array($rs_window))
    			{genera_scheda_window($row_window);}
    		echo '</td>';
    		$i_window++;}
    	echo '</tr>';}
    
    echo '</table>';
    ?>
    </div>
    
    </div>
    se faccio più refresh (di solito si visualizza il problema dopo 6/7 refresh) della pagina (il link precedente) vedrete che la prima vetrina si mostra vuota... perchè accade questo?

    grazie in anticipo a chi risponderà

    Sevenumber

  2. #2
    ahah è vero... che figata.. ma come hai fatto a scoprirlo? cioè non capita spesso di fare tutti quei refresh consecutivi.. cmq il problema non si dovrebbe porre, un utente normalmente non fa tutti quei refresh, penso che cmq potrebbe essere un problema irrilevante con il db.. non ne ho la certezza ma non è un problema secndo me ciao in bocca al lupo

  3. #3
    guarda che io alla prima visita alla pagina ho visto la vetrina superiore vuota!
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  4. #4
    purtroppo capita anche al primo refresh talvolta ... una cosa ho notato se può essere d'aiuto, se tolgo la seconda vetrina tutto funziona regolarmente pertanto deve essere qlcs nel codice

    ps. per creare la prima vetrina ho duplicato la seconda (sarà qui il problema?)

  5. #5
    prova a cambiare i nomi delle variabili della seconda vetrina...
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  6. #6
    non vorrei dire una stupidata ma se vedi gli allegati mi sembra di averlo già fatto a meno che tu non abbia notato il contrario ...

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.