Datenbank basierender Counter => probleme

Chaoslion

Mitglied
Also,
wie in der Überschrift schon steht, ich hab ein Problem mit einem Datenbankbasierendem Counter.
Der Counter soll lediglich aus einer Zeile in der DB bestehen, also die zahl die in der DB steht immer nur updaten das hab ich auch gemacht, so sieht der Quelltext aus:
PHP:
<?php

$sql = "SELECT * FROM RS_Besucher where id = 1";
$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query)){

$g = $row["Anzahl"] ++;
$sql2 = "UPDATE RS_Besucher SET Anzahl = '".$g."' WHERE id = 1";
if($res = mysql_query($sql)){
echo $g;
}
}

?>
Auf den ganzen Reloadsperren zeug hab ich hier grade verzichtet um es testen zu können.
Nun zu meinem Problem:
In der Tabelle wird der neue Wert nicht gespeichert, bekomme auch keine Fehlermeldung nichts...
Hab hier auch schon etliche Counter gesehen, aber bei denen wird immer eine Zeile hinzugefügt...
Das möchte ich vermeiden, da die Seite doch 1000 mal im monat besucht wird :)
 
Hi!

...was mir ganz spontan auffällt:
PHP:
if($res = mysql_query($sql)){
...willst Du dort nicht $sql2 "starten"!?

Liebe Grüße,
Mark.

//edit: unabhängig davon brauchst Du die Anzahl nicht erst abfragen:
SQL:
UPDATE RS_Besucher SET Anzahl = Anzahl + 1 WHERE id = 1
 
ui, danke jetzt gehts :).
hätte auch schon in der Klassenliste das nächste problem...
Ich will das alle 5. 6. ... eine eigene table haben aber ich bekomms einfach ned hin, im moment wird jede klasse in eine eigene table geschrieben.
PHP:
<table width="90%">
	<tr bgcolor="grey">
		<td width="50"><b>Klasse:</b></td>
		<td width="100"><b>Klassenleiter:</b></td>
		<td width="100"><b>Schüler gesamt:</b></td>
		<td width="90"><b>davon männlich:</b></td>
		<td width="90"><b>davon weiblich:</b></td>
		<td width="150"><b>Ausbildungsrichtung:</b></td>
	</tr>
<?php 
$sql = "SELECT * FROM RS_Klassen order by KL_Stufe ASC";
$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query)or die (mysql_error())){
$gesamt = $row["KL_AnzahlM"]+$row["KL_AnzahlW"];
$col[0] = "white"; 
$col[1] = "silver"; 
  $colIDX = $i % 2; 
  $col[$colIDX]; 
  $klasse = 5;
  $count = "SELECT COUNT(*) as erg FROM RS_Klassen where KL_Stufe = ".$klasse;
  $result = mysql_query($count);
  while($res = mysql_fetch_assoc($result)){
  $zahl = $res["erg"];
  if($zahl == 0){
  $klasse++;
  }
  if($res["KL_Stufe"] != $klasse){
?>
	</table>
	<br>
	<table width="90%">
	<tr bgcolor="grey">
		<td width="50"><b>Klasse:</b></td>
		<td width="100"><b>Klassenleiter:</b></td>
		<td width="100"><b>Schüler gesamt:</b></td>
		<td width="90"><b>davon männlich:</b></td>
		<td width="90"><b>davon weiblich:</b></td>
		<td width="150"><b>Ausbildungsrichtung:</b></td>
	</tr>
	<tr bgcolor="<?php echo $col[$colIDX]; ?>">
		<td width="50"><?php echo $row["KL_Stufe"].$row["KL_Name"]; ?></td>
		<td width="100"><?php echo $row["KL_Leiter"]; ?></td>
		<td width="100"><?php echo $gesamt; ?></td>
		<td width="90"><?php echo $row["KL_AnzahlW"]; ?></td>
		<td width="90"><?php echo $row["KL_AnzahlM"]; ?></td>
		<td width="150"><?php echo $row["KL_Zweig"]; ?></td>
	</tr>

<?php
$zahl = $zahl--;
$klasse = $res["KL_Stufe"];
}
else
{
$zahl = $zahl--;
$klasse = $res["KL_Stufe"];
  ?>
 	<tr bgcolor="<?php echo $col[$colIDX]; ?>">
		<td><?php echo $row["KL_Stufe"].$row["KL_Name"]; ?></td>
		<td><?php echo $row["KL_Leiter"]; ?></td>
		<td><?php echo $gesamt; ?></td>
		<td><?php echo $row["KL_AnzahlW"]; ?></td>
		<td><?php echo $row["KL_AnzahlM"]; ?></td>
		<td><?php echo $row["KL_Zweig"]; ?></td> 
</tr>
  
  <?php
}
}
}
?>
</table>
 
Zuletzt bearbeitet:
Du hast wohl deins editiert als ich meinen Beitrag geschrieben hatte *g* Denn vorher war er nicht da... kann auch sein dass ich meinen Beitrag erst spät abgeschickt hatte, musste wen bei PHP verarzten im ICQ ;)
 
Zurück