Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di mybox
    Registrato dal
    Mar 2007
    Messaggi
    507

    Parte di codice difettosa

    ragazzi ho questo codice:
    Codice PHP:
    $sql mysql_fetch_array(mysql_query("SELECT COUNT(id) FROM lastview WHERE whonick='".$whonick."'"));
    if (
    $sql[0]>10)
    {
    $sql mysql_fetch_array(mysql_query("SELECT MAX(id) FROM lastview WHERE whonick='".$whonick."'"));
    $sql $sql[0]-9;
    mysql_query("DELETE FROM lastview WHERE whonick='".$whonick."' AND id <'".$sql."'");
    }
    $lv=getnick_sid($sid);
    $a getuid_nick($whonick);
    if(
    $a!=$uid)
    {
    mysql_query("INSERT INTO lastview SET lastview='".$lv."', whonick='".$whonick."', ltime='".time()."'");
    }
    $sqlmysql_fetch_array(mysql_query("SELECT lastview,ltime FROM lastview WHERE whonick='".$whonick."'ORDER BY ltime DESC LIMIT 1"));
    $a getuid_nick($sql[0]);
    $link "<a href=\"index.php?action=viewuser&amp;sid=$sid&amp;who=$a\">$sql[0]</a>";
    echo 
    "Ultima visita di: $link il";
    $newtime =$sql[1]+(*60 *60); 
    echo 
    date("D d M y - h:i:s a",$newtime); 
    non capisco come mai non funzioni più... da cosa può dipendere?
    grazie a chi mi saprà aiutare

  2. #2
    Utente di HTML.it L'avatar di mybox
    Registrato dal
    Mar 2007
    Messaggi
    507
    l'altro pezzo di codice è:

    Codice PHP:
    /////////////////////////////////////// 10 viewers

    else if($action=="10pv")
    {
      
    addonline(getuid_sid($sid),"ultimi 10","");
    if(
    $who==""||$who==0)
      {
        
    $mnick $_POST["mnick"];
        
    $who getuid_nick($mnick);
      }
      
    $whonick getnick_uid($who);

        echo 
    "<card id=\"main\" title=\"Viewing Last 10 profileviewers\">";
        echo 
    "<p align=\"center\">";
    $sqlmysql_query("SELECT lastview,ltime FROM lastview WHERE whonick='".$whonick."'ORDER BY ltime DESC LIMIT 10");
    while(
    $row mysql_fetch_array($sql))
    {
    $a getuid_nick($row[0]);
    echo 
    "<a href=\"index.php?action=viewuser&amp;sid=$sid&amp;who=$a\">$row[0]</a>";
    $newtime =$row[1]+(*60 *60); 
    echo 
    " [b]".date("D d M y - h:i:s a",$newtime)."[/b]
    "
    ;
    echo 
    "------------
    "
    ;
    }
    $a getuid_nick($whonick);
    echo 
    "back to <a href=\"index.php?action=viewuser&amp;sid=$sid&amp;who=$a\">$whonick</a>'s profile
    "
    ;
    echo 
    "<a href=\"index.php?action=main&amp;sid=$sid\"><img src=\"images/home.gif\" alt=\"*\"/>";
      echo 
    "</p>";
      echo 
    "</card>";

    mentre l'sql è:

    CREATE TABLE `lastview` (
    `whonick` varchar(20) collate latin1_general_ci NOT NULL,
    `id` int(100) NOT NULL auto_increment,
    `lastview` varchar(20) collate latin1_general_ci NOT NULL,
    `ltime` int(100) NOT NULL default '0',
    PRIMARY KEY (`whonick`,id)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1
    vi prego aiutatemi

  3. #3
    Innanzi tutto io ottimizzerei un attimo la questione, in quanto hai due query di SELECT annidate.
    Non mi sono messo a pensare troppo come potresti migliorare ancora, ma come prima cosa farei quanto segue:

    Codice PHP:
    $query mysql_query(SELECT COUNT(id) AS count FROM lastview WHERE whonick='".$whonick."'"));
    $num = mysql_result($query, '0', count);
    mysql_free_result(
    $query);

    // eccetera 
    Oltre questo, però, leggo:
    non capisco come mai non funzioni più... da cosa può dipendere?
    Non posso dapere altro.
    Quale problema si verifica? Ottieni un messaggio di errore???
    Perché prima funzionava? Hai fatto un upgrade di PHP?
    Se sì, da dove proviene la variabile $whonick?

    Rispondi appena puoi e cerca di essere un minimo più preciso!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Utente di HTML.it L'avatar di mybox
    Registrato dal
    Mar 2007
    Messaggi
    507
    whonick proviene da un file include all'inizio di pagina che determina tutte le funzioni..
    che non è altro in questo caso che:

    function getnick_sid($sid)
    {
    $uid = mysql_fetch_array(mysql_query("SELECT uid FROM ibwf_ses WHERE id='".$sid."'"));
    $uid = $uid[0];
    return getnick_uid($uid);
    }

    e questo:

    function getuid_nick($nick)
    {
    $uid = mysql_fetch_array(mysql_query("SELECT id FROM ibwf_users WHERE name='".$nick."'"));
    return $uid[0];
    }

    (credo) se non ho capito male.
    non ho messaggi di errore.ma la lista compare vuota :berto:

  5. #5
    Utente di HTML.it L'avatar di mybox
    Registrato dal
    Mar 2007
    Messaggi
    507
    qualcuno può aiutarmi??

  6. #6
    nella prima funzione: getnick_uid($uid);
    mente è dichiarata: function getuid_nick($nick)

    E' un errore nel primo return o esegui un'altra funzione che non hai riportato?



    Comunque, il codice ti restituisce degli errori oppure solo non fa quello che vorresti?


    Originariamente inviato da mybox
    whonick proviene da un file include all'inizio di pagina che determina tutte le funzioni..
    che non è altro in questo caso che:

    function getnick_sid($sid)
    {
    $uid = mysql_fetch_array(mysql_query("SELECT uid FROM ibwf_ses WHERE id='".$sid."'"));
    $uid = $uid[0];
    return getnick_uid($uid);
    }

    e questo:

    function getuid_nick($nick)
    {
    $uid = mysql_fetch_array(mysql_query("SELECT id FROM ibwf_users WHERE name='".$nick."'"));
    return $uid[0];
    }

    (credo) se non ho capito male.
    non ho messaggi di errore.ma la lista compare vuota :berto:

  7. #7
    Utente di HTML.it L'avatar di mybox
    Registrato dal
    Mar 2007
    Messaggi
    507
    nessun errore, solamente non appaiono i nickname nella lista degli ultimi visitatori del profilo...

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.