- Home
- Categorie
- Coding e Sistemistica
- PHP
- Conteggio record
-
Conteggio record
Salve a tutti, mi piacerebbe ottenere il conteggio accanto al sottomenu come avviene in questo sito: w w w.ffiles.com/flash/actionscript
Questa cosa qui:
Actionscript [143]
Animations [142]come potrei fare?
Questo è il codice :
[PHP]
?php require_once('Connections/conn.php'); ?>
<?php mysql_query('set names utf8');?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}$currentPage = $_SERVER["PHP_SELF"];
mysql_select_db($database_conn, $conn);
$query_rs_menu = "SELECT * FROM menu ORDER BY nome_menu ASC";
$rs_menu = mysql_query($query_rs_menu, $conn) or die(mysql_error());
$row_rs_menu = mysql_fetch_assoc($rs_menu);
$totalRows_rs_menu = mysql_num_rows($rs_menu);$colname_rs_sottomenu = "-1";
if (isset($_GET['id_menu'])) {
$colname_rs_sottomenu = $_GET['id_menu'];
}
mysql_select_db($database_conn, $conn);
$query_rs_sottomenu = sprintf("SELECT * FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
$rs_sottomenu = mysql_query($query_rs_sottomenu, $conn) or die(mysql_error());
$row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu);
$totalRows_rs_sottomenu = mysql_num_rows($rs_sottomenu);$maxRows_rs_prodotti = 25;
$pageNum_rs_prodotti = 0;
if (isset($_GET['pageNum_rs_prodotti'])) {
$pageNum_rs_prodotti = $_GET['pageNum_rs_prodotti'];
}
$startRow_rs_prodotti = $pageNum_rs_prodotti * $maxRows_rs_prodotti;mysql_select_db($database_conn, $conn);
$query_rs_prodotti = "SELECT * FROM prodotti ORDER BY id DESC";
$query_limit_rs_prodotti = sprintf("%s LIMIT %d, %d", $query_rs_prodotti, $startRow_rs_prodotti, $maxRows_rs_prodotti);
$rs_prodotti = mysql_query($query_limit_rs_prodotti, $conn) or die(mysql_error());
$row_rs_prodotti = mysql_fetch_assoc($rs_prodotti);if (isset($_GET['totalRows_rs_prodotti'])) {
$totalRows_rs_prodotti = $_GET['totalRows_rs_prodotti'];
} else {
$all_rs_prodotti = mysql_query($query_rs_prodotti);
$totalRows_rs_prodotti = mysql_num_rows($all_rs_prodotti);
}
$totalPages_rs_prodotti = ceil($totalRows_rs_prodotti/$maxRows_rs_prodotti)-1;$queryString_rs_prodotti = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_rs_prodotti") == false &&
stristr($param, "totalRows_rs_prodotti") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_rs_prodotti = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_rs_prodotti = sprintf("&totalRows_rs_prodotti=%d%s", $totalRows_rs_prodotti, $queryString_rs_prodotti);
?>e questo è il codice del menu
<div class="menu" id="menu"> <div class="titolocategoria" id="titmenu">Categorie</div> <div class="categorie" id="categorie"> <div class="tuttomenu" id="tuttomenu"> <?php do { ?> <div id="menuprincipale"><a href="sottomenu.php?id_menu=<?php echo $row_rs_menu ['id']; ?>" class="testoMENU"> <?php echo ($row_rs_menu['nome_menu']); ?></a></div> <?php if ($row_rs_menu['id'] == $colname_rs_sottomenu){?> <?php do { ?> <div> <a href="prodotti.php?$=<?php echo $row_rs_sottomenu['id_menu']; ?>&$!=<?php echo $row_rs_sottomenu['id']; ?>" class="testoSOTTOMENU"> ? <?php echo $row_rs_sottomenu['sottomenu']; ?></a></div> <?php } while ($row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu)); } ?> <?php } while ($row_rs_menu = mysql_fetch_assoc($rs_menu)); ?> </div> </div> <div class="motore" id="motore"> <form id="form1" name="form1" method="get" action="risultati_ricerca.php"> <span class="testoMENU">Cerca un prodotto</span><br /> <input name="ricerca" type="text" id="ricerca" size="14" /> <input name="cerca" type="submit" class="testoprivacy" id="cerca" value="cerca" /> </form> </div> </div>
[/PHP]
-
Devi utilizzare la funzione COUNT sulla query per contare i record
es:
SELECT COUNT(id) FROM tabella WHERE articolo = 'actionscripr'
-
Ciao, grazie per la risposta.
Ho provato in questo modo, ma non mi visualizza più i sottomenù.Ho modificato da così
[PHP]
mysql_select_db($database_conn, $conn);
$query_rs_sottomenu = sprintf("SELECT * FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
$rs_sottomenu = mysql_query($query_rs_sottomenu, $conn) or die(mysql_error());
$row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu);
$totalRows_rs_sottomenu = mysql_num_rows($rs_sottomenu);a così
mysql_select_db($database_conn, $conn);
$query_rs_sottomenu = sprintf("SELECT COUNT(id) FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
$rs_sottomenu = mysql_query($query_rs_sottomenu, $conn) or die(mysql_error());
$row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu);
$totalRows_rs_sottomenu = mysql_num_rows($rs_sottomenu);[/PHP]
-
Per forza, conti solamente i record in questo modo, modifica la query inserendo i campi che vuoi prelevare:
[PHP]
$query_rs_sottomenu = sprintf("SELECT COUNT(id), campo1, campo2, campo3, ecc.... FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
[/PHP]
-
Il campo è uno solo sarebbe 'sottomenu'
ho provato così ma visualizza solo il primo 'sottomenu'[PHP]
mysql_select_db($database_conn, $conn);
$query_rs_sottomenu = sprintf("SELECT COUNT(id),sottomenu FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
$rs_sottomenu = mysql_query($query_rs_sottomenu, $conn) or die(mysql_error());
$row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu);
$totalRows_rs_sottomenu = mysql_num_rows($rs_sottomenu);[/PHP]
forse dovrei aggiungere anche qualcosa in questo punto per visualizzare il conteggio?
[PHP]
<?php echo $row_rs_sottomenu['sottomenu']; ?>
[/PHP]
-
Se devi visualizzare più di un menu devi fare un ciclo, per il numero devi stampare anche l'id che in questo caso viene contato
[PHP]
<?php echo $row_rs_sottomenu['sottomenu'] . " ( " . $row_rs_sottomenu['id'] . " ) "; ?>
[/PHP]
-
Ho fatto in questo modo, ma non va visualizza in questo modo:
accessori ()
varie ()[PHP]
mysql_select_db($database_conn, $conn);
$query_rs_sottomenu = sprintf("SELECT COUNT(id),sottomenu FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
$rs_sottomenu = mysql_query($query_rs_sottomenu, $conn) or die(mysql_error());
$row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu);
$totalRows_rs_sottomenu = mysql_num_rows($rs_sottomenu);[/PHP]
questo è il div del sottomenù
[PHP]
<div> <a href="prodotti.php?$=<?php echo $row_rs_sottomenu['id_menu']; ?>&$!=<?php echo $row_rs_sottomenu['id']; ?>" class="testoSOTTOMENU"><img src="img/minibutton.png" width="12" height="12" vspace="5" border="0" align="top" /> <?php echo $row_rs_sottomenu['sottomenu'] . " ( " . $row_rs_sottomenu['id'] . " ) "; ?></a></div>
<?php } while ($row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu)); } ?>
<?php } while ($row_rs_menu = mysql_fetch_assoc($rs_menu)); ?>
</div>[/PHP]
-
nella variabile $totalRows_rs_sottomenu c'è il numero
-
@creativoweb said:
nella variabile $totalRows_rs_sottomenu c'è il numero
Scusa l'ignoranza, non ho capito in che senso c'è il numero?
-
prova a stampare quella variabile...
-
Ho stampato la variabile in questo modo ma non va, sicuro ho sbaglito qualcosa
[PHP]
<a href="prodotti.php?$=<?php echo $row_rs_sottomenu['id_menu']; ?>&$!=<?php echo $row_rs_sottomenu['id']; ?>" class="testoSOTTOMENU"><img src="img/minibutton.png" width="12" height="12" vspace="5" border="0" align="top" /> <?php echo $row_rs_sottomenu['sottomenu'] . " ( " . $totalRows_rs_sottomenu ['id'] . " ) "; ?></a></div>
<?php } while ($row_rs_sottomenu = mysql_fetch_assoc($rs_sottomenu)); } ?>
<?php } while ($row_rs_menu = mysql_fetch_assoc($rs_menu)); ?>[/PHP]
-
metti solo il nome della variabile senza [id]
-
Adesso stampa qualcosa, però stampa a tutti i sottomenù (1) in questo modo:
Accessori (1)
Varie (1)poi c'è sempre il problema che stampa solo un sottomenù.
-
dovresti utilizzare un ciclo non mysql_fetch_assoc ma questo codice
[PHP]
$query =
("SELECT COUNT(id),sottomenu FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
$result = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_array($result))
{// stampo il menu
}
[/PHP]Prova vedrai che ti funziona
-
Ho provato, mi da errore su questa riga:
[PHP]
$query = ("SELECT COUNT(id),sottomenu FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC", GetSQLValueString($colname_rs_sottomenu, "text"));
[/PHP]
-
che errore ti da?
-
Questo qui:
Parse error: syntax error, unexpected ',' in D:\inetpub\webs.....
-
$query = ("SELECT COUNT(id),sottomenu FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC". GetSQLValueString($colname_rs_sottomenu, "text")
-
Mi da errore
Parse error: syntax error, unexpected T_VARIABLE in D:\inetpub\webs
sulla riga:
$result = mysql_query($query) or die (mysql_error());ho fatto così, posto il codice completo:
[PHP]
$colname_rs_sottomenu = "-1";
if (isset($_GET['id_menu'])) {
$colname_rs_sottomenu = $_GET['id_menu'];
}mysql_select_db($database_conn, $conn);
$query = ("SELECT COUNT(id),sottomenu FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC". GetSQLValueString($colname_rs_sottomenu, "text")
$result = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_array($result));[/PHP]
[PHP]
//e poi stampo il sottomenù<?php echo $row_rs_sottomenu['sottomenu'] . " ( " . $totalRows_rs_sottomenu . " ) "; ?>
[/PHP]
-
Prova a mettere questa query
$query = "SELECT COUNT(id),sottomenu FROM sottomenu WHERE id_menu = %s ORDER BY sottomenu ASC";