Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    variabili non prelevate

    ho un problema con uno script di calendario eventi

    vorrei che quel $priv (che peraltro viene prelevato correttamente) anzichè essere un numero fosse una parola.....
    ovvero che $priv (che è un numero) corrisponda al campo 'categoria' di una tabella 'categorie' dove $priv è uguale alla riga 'id'(int) della medesima tabella.
    ho provato ad inserire una query ma la pagina è bianca

    Codice PHP:
    function writePosting($id, $auth)
    {
        global $lang, $HTTP_SESSION_VARS;
        
        mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());
        mysql_select_db(DB_NAME) or die(mysql_error());
        
        $sql = "SELECT y, m, d, title, text, priv, ";
        $sql .= DB_TABLE_PREFIX . "users.uid, fname, lname ";
        
        $sql .= "FROM " . DB_TABLE_PREFIX . "mssgs ";
        $sql .= "LEFT JOIN " . DB_TABLE_PREFIX . "users ";
        $sql .= "ON (" . DB_TABLE_PREFIX . "mssgs.uid = " . DB_TABLE_PREFIX . "users.uid) ";
        $sql .= "WHERE id = " . $id;
        
        $result = mysql_query($sql) or die(mysql_error());
        $row = mysql_fetch_assoc($result);
        
        $title        = stripslashes($row["title"]);
        $body        = stripslashes(str_replace("\n", "
    ", $row["text"]));
        $postedby     = $lang['postedby'] . " " . $row['fname'] . " " . $row['lname'];
        $priv       = $row['priv']; //questo campo è un varchar

        //inizio query aggiunta
    $query_categ = "SELECT id, categoria FROM categorie WHERE id = $priv";
    $categ = mysql_query($query_priv, $server) or die(mysql_error());
    $row_categ = mysql_fetch_assoc($categ);
    $totalRows_categ = mysql_num_rows($categ); 
        // fine query aggiunta

        
        if ($auth == 2 || ($auth != 0 && $HTTP_SESSION_VARS['authdata']['uid'] == $row['uid'])) {
            $editstr = "<span class=\"display_edit\">";
            $editstr .= "[<a href=\"eventform.php?id=" . $id . "\">Modifica evento</a>]";
            $editstr .= "[<a href=\"#\" onClick=\"deleteConfirm(" . $id . ");\">Elimina evento</a>]</span>";
        } else {
            $editstr = "<span class=\"display_edit\">";
            $editstr .= "</span>";
        }
    ?>
    <table cellspacing="0" cellpadding="0" border="0" width="300">
            <tr><td bgcolor="#000000">
                <table cellspacing="1" cellpadding="1" border="0" width="100%">
                    <tr>
                        <td class="display_title_bg"><table cellspacing="0" cellpadding="0" border="0" width="100%"><tr>
                                <td width="100%"><span class="display_title"><?= $row_categ['categoria']." - ".$title ?></span></td>

  2. #2
    ciao, prova a mettere priv scritto così nella query

    `priv`

    perché è una "parola" riservata

    fammi sapere
    ciao
    Vi aspetto sul mio sito
    creato per tutti coloro che necessitano di aiuto, scripts ecc.
    http://www.dbpersister.com
    http://principeorazio.wordpress.com/

  3. #3
    Where id=`priv` ? intendi dire così?

  4. #4
    codice:
    $sql = "SELECT y, m, d, title, text, `priv`, ";     
    $sql .= DB_TABLE_PREFIX . "users.uid, fname, lname ";          
    $sql .= "FROM " . DB_TABLE_PREFIX . "mssgs ";     
    $sql .= "LEFT JOIN " . DB_TABLE_PREFIX . "users ";     
    $sql .= "ON (" . DB_TABLE_PREFIX . "mssgs.uid = " . DB_TABLE_PREFIX . "users.uid) ";     
    $sql .= "WHERE id = " . $id;
    Intendo il priv della query di selezione.

    Dopodiché sarebbe meglio che ti facessi stampare gli errori eventuali a schermo.
    Quando hai una pagina bianca molto probabilmente ci sono degli errori nell'esecuzione.
    Imposta all'inizio della pagina un
    error_reporting(E_ALL);

    oppure segui il file dei log degli errori di apache.
    su linux ubuntu è:
    tail -f /var/log/apache2/error.log
    su redhat, centos ecc
    tail -f /var/log/httpd/error.log

    su windows è nella cartella logs di apache

    Fammi sapere
    Ciao
    Vi aspetto sul mio sito
    creato per tutti coloro che necessitano di aiuto, scripts ecc.
    http://www.dbpersister.com
    http://principeorazio.wordpress.com/

  5. #5
    no, no! quello non c'entra di sicuro perche ho provato pure a piazzare un valore fisso a id nell'altra query ed il risultato è il medesimo.
    l'err reporting l'avevo gia inserito ma ho sbagliato io a dire che la pagina è bianca: in realtà la pagina non è bianca, semplicemente si arresta la compilazione alla data (che è nel codice iniziale che non ho riportato).

    Questa è la query che ho inserito ora per controprova con medesimo risultato

    codice:
    $query_categ = "SELECT * FROM categorie WHERE idcategorie = 2";
    $categ = mysql_query($query_categ, $server) or die(mysql_error());
    $row_categ = mysql_fetch_assoc($categ);
    $totalRows_categ = mysql_num_rows($categ);
    mi pare di capire che si blocchi nella compilazione degli eventi di tutta la giornata, sia che sia uno sia che siano di più. direi che è un problema di cicli ma non capisco dove!

    questo è il codice intero della pagina

    codice:
    mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());
    mysql_select_db(DB_NAME) or die(mysql_error());
    
    $sql = "SELECT d, m, y FROM " . DB_TABLE_PREFIX . "mssgs WHERE id=" . $id;
    $result = mysql_query($sql) or die(mysql_error());
    $row = mysql_fetch_array($result);
    
    $d 			= $row["d"];
    $m 			= $row["m"];
    $y 			= $row["y"];
    $dateline 	= "$d ". $lang['months'][$m-1] . " $y";
    $wday 		= date("w", mktime(0,0,0,$m,$d,$y));
    
    writeHeader($m, $y, $dateline, $wday, $auth);
    
    // display selected posting first
    writePosting($id, $auth);
    
    // query for rest of this day's postings
    $sql = "SELECT id, start_time FROM " . DB_TABLE_PREFIX . "mssgs ";
    $sql .= "WHERE y = " . $y . " AND m = " . $m . " AND d = " . $d . " AND id != $id ";
    $sql .= "ORDER BY start_time ASC";
    
    $result = mysql_query($sql) or die(mysql_error());
    
    if (mysql_num_rows($result)) {
    	echo '<span class="display_header">' . $lang['otheritems'] . '</span>';
    	echo '<br clear="all">[img]/images/clear.gif[/img]<br clear="all">';
    	
    	// display rest of this day's postings
    	while ($row = mysql_fetch_array($result)) {
    		writePosting($row[0], $auth);
    		echo '[img]images/clear.gif[/img]<br clear="all">';
    	}
    }
    
    echo "</body></html>";
    
    
    function writeHeader($m, $y, $dateline, $wday, $auth)
    {
    	global $lang;
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    	<title>Calendario Eventi Gruppo Grotte CAI Savona</title>
    	<link rel="stylesheet" type="text/css" href="css/popwin.css">
    
    	</head>
    <body>
    
    <table cellspadding="0" cellspacing="0" border="0" width="300">
    <tr>
    		<td align="right"><span class="display_header"><? echo $lang['days'][$wday] ?></span></td><td><span class="display_header"><? echo $dateline ?></span></td>
    
    </tr>
    </table>
    
    [img]images/clear.gif[/img]<br clear="all">
    <?
    }
    
    function writePosting($id, $auth)
    {
    	global $lang, $HTTP_SESSION_VARS;
    	
    	mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());
    	mysql_select_db(DB_NAME) or die(mysql_error());
    	
    	$sql = "SELECT y, m, d, title, text, priv, ";
    	$sql .= DB_TABLE_PREFIX . "users.uid, fname, lname ";
    	
    	$sql .= "FROM " . DB_TABLE_PREFIX . "mssgs ";
    	$sql .= "LEFT JOIN " . DB_TABLE_PREFIX . "users ";
    	$sql .= "ON (" . DB_TABLE_PREFIX . "mssgs.uid = " . DB_TABLE_PREFIX . "users.uid) ";
    	$sql .= "WHERE id = " . $id;
    	
    	$result = mysql_query($sql) or die(mysql_error());
    	$row = mysql_fetch_assoc($result);
    	
    	$title		= stripslashes($row["title"]);
    	$body		= stripslashes(str_replace("\n", "
    ", $row["text"]));
    	$postedby 	= $lang['postedby'] . " " . $row['fname'] . " " . $row['lname'];
    	$priv = $row['priv'];     	
    
    //L'ESECUZIONE DEL CODICE VIENE INTERROTA DA QUESTO PUNTO IN QUANTO HO PROVATO AD INSERIRE UN ECHO $title quattro righe piu sotto senza esito positivo	
    	
    $query_categ = "SELECT * FROM categorie WHERE idcategorie = 2";
    $categ = mysql_query($query_categ, $server) or die(mysql_error());
    $row_categ = mysql_fetch_assoc($categ);
    $totalRows_categ = mysql_num_rows($categ);
    		$editstr = "<span class=\"display_edit\">";
    		$editstr .= "</span>";
    	
    ?>
    <table cellspacing="0" cellpadding="0" border="0" width="300">
    		<tr><td bgcolor="#000000">
    			<table cellspacing="1" cellpadding="1" border="0" width="100%">
    				<tr>
    					<td class="display_title_bg"><table cellspacing="0" cellpadding="0" border="0" width="100%"><tr>
    							<td width="100%"><span class="display_title"><?= $row_categ['categoria'] ." - ". $title ?></span></td>
    							<td>[img]images/clear.gif[/img]</td>
    							<td align="right" nowrap="yes"><span class="display_title"></span></td>
    					</tr></table></td>
    				</tr>
    				<tr><td class="display_txt_bg">
    					<table cellspacing="1" cellpadding="1" border="0" width="100%">
    						<tr>
    							<td><span class="display_txt"><?= $body ?></span></td>
    						</tr>
                                                    
    						<tr>
    							<td align="left"><span class="display_user"><?= $postedby ?></span></td>
    						</tr>
    						<tr>
    							<td align="right"><?= $editstr ?></td>
    						</tr>
    					</table>
    				</td></tr>
    			</table>
    	</td></tr></table>
      <?
    }
    ?>

  6. #6
    per come lo stai utilizzando credo che in quel punto dovresti inserire
    un
    $row = mysql_fetch_array($result);
    invece di
    $row = mysql_fetch_assoc($result);
    Vi aspetto sul mio sito
    creato per tutti coloro che necessitano di aiuto, scripts ecc.
    http://www.dbpersister.com
    http://principeorazio.wordpress.com/

  7. #7
    Originariamente inviato da Princex
    per come lo stai utilizzando credo che in quel punto dovresti inserire
    un
    $row = mysql_fetch_array($result);
    invece di
    $row = mysql_fetch_assoc($result);
    ho provato pure questo ma niente!

  8. #8
    faccio io e ti posto il codice
    dammi solo 10 min

    mentre leggevo ho visto:

    codice:
     "SELECT * FROM categorie WHERE idcategorie = 2";
    sicuro che non è idcategoria = 2 ?



    codice:
    $categ = mysql_query($query_categ, $server) or die(mysql_error());
    stai utilizzando una chiamata a mysql con il puntatore $server che non esiste nell'ambito chiamato

    Meglio che dai un'occhiata ai log di apache per gli errori.
    Diversamente postami un dump delle tabelle per fare un test in locale, così
    altrimenti non capisco se ci sono problemi nei nomi.
    Vi aspetto sul mio sito
    creato per tutti coloro che necessitano di aiuto, scripts ecc.
    http://www.dbpersister.com
    http://principeorazio.wordpress.com/

  9. #9
    No no quelli che dici tu è tutto ok. il puntatore esiste ma te l ho tralasciato nel codice ed idcategorie è cirretto.

  10. #10
    allora non capisco così, fammi un dump delle tabelle interessate,
    così posso provare da me, altrimenti nel db che ho creato io non mi da problemi
    Vi aspetto sul mio sito
    creato per tutti coloro che necessitano di aiuto, scripts ecc.
    http://www.dbpersister.com
    http://principeorazio.wordpress.com/

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.