SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.09.2005, 12:39:48
wallis wallis ist offline
Anfänger
 
Registriert seit: Jun 2005
Beiträge: 92
Rangliste - Punktezuwachs zählen

Hallo Leute !

Vor kurzem meine Frage zum Ranglisten Script.
Jetzt folgendes:

Habe mir gedacht, das man doch mit PHP rechnen kann.
Also:

Ich habe jetzt ein Eingabefeld wo ich die neue Punktzahl des jeweiligen Users reinschreibe. Bei Klick auf den UPDATE Button, passiert da DB Update des Users. Für jeden User einen Button.

Gibt es eine Möglichkeit, das mir ein Script die Differenz, also den Punktezuwachs, vom alten Punktestand vor dem Update, bis zum neuen Punktestand errechnet und auch anzeigt ?

Wenn ja, wäre es gut, wenn mir jemand das mal genauer erklären könnte.

Hier das Script...

edit_main.php
PHP-Code:
<?php
//config
$host "localhost";
$user "webxxx";
$password "xxx";
$dbname "usr_webxxx_2";
$tabelle "rangliste_main";

$dbverbindung mysql_connect ($host$user$password) or die("Verbindung zur Datenbank fehlgeschlagen");

$db_select MYSQL_SELECT_DB($dbname) OR DIE (mysql_erroru()); 

if ((isset(
$_POST['update'])) && (isset($_GET['id']))) 
{
  
$punkte $_POST['punkte'];
  
$entwicklung $_POST['entwicklung'];
  
$id $_GET['id'];
  
mysql_query("UPDATE $tabelle SET punkte = '$punkte' , entwicklung = '$entwicklung'  WHERE id = '$id'");
}

$dbanfrage "SELECT id, name, punkte, entwicklung FROM $tabelle ORDER BY id";

$res mysql_db_query ($dbname$dbanfrage$dbverbindung) or die('Fehler');

echo 
'<table border="0" cellpadding="0" cellspacing="0" width="450">
  <tr>
    <td width="50"><font size="1" face="Verdana" color="#FFFFFF">Platz</font></td>
    <td width="200"><font size="1" face="Verdana" color="#FFFFFF">Name</font></td>
    <td width="100"><font size="1" face="Verdana" color="#FFFFFF">Punkte</font></td>
    <td width="100"><font size="1" face="Verdana" color="#FFFFFF">Entwicklung</font></td>
  </tr>'
;

while (
$result mysql_fetch_array($res))
{
echo 
'
  <tr>
    <td width="50"><font face="Verdana" size="1">platz</font></td>
    <td width="200"><font size="1" face="Verdana">'
.$result['name'].'</font></td>
    <td width="200" colspan="2">
      <form action="./edit_main.php?id='
.$result['id'].'" method="post">
      <table border="0" cellpadding="0" cellspacing="0" width="450">
        <tr>
          <td width="100"><input type="text" name="punkte" size="5" value="'
.$result['punkte'].'"></td>      
          <td width="100"><input type="text" name="entwicklung" size="5" value="'
.$result['entwicklung'].'"></td>
          <td width="100"><input type="submit" name="update" value="Änderung speichern"></td>
        </tr>
      </table>
      </form>
    </td>
  </tr>
'
;
}
echo 
'</table>';
?>
und meine Rangliste:

sho_main.php
PHP-Code:
<? 
$host = "localhost"; 
$user = "webxxx"; 
$password = "xxx"; 
$dbname = "usr_webxxx_2"; 
$tabelle = "rangliste_main"; 

$dbverbindung = mysql_connect ($host, $user, $password) or die("Verbindung zur Datenbank fehlgeschlagen");

$db_select = MYSQL_SELECT_DB($dbname) OR DIE (mysql_erroru()); 

$dbanfrage = "SELECT name, punkte, entwicklung FROM $tabelle ORDER BY punkte DESC"; 

$res = mysql_db_query ($dbname, $dbanfrage, $dbverbindung) or die('Fehler'); 

echo '<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" width="350"> 
  <tr> 
    <td width="50" height="25"><font size="2" face="Arial" color="#FFFFFF">Platz</font></td> 
    <td width="200" height="25"><font size="2" face="Arial" color="#FFFFFF">Name</font></td> 
    <td width="50" height="25"><font size="2" face="Arial" color="#FFFFFF">Punkte</font></td> 
    <td width="50" height="25"><font size="2" face="Arial" color="#FFFFFF">Entwicklung</font></td>  
  </tr>
'; 

$platzierung = 1;

while ($result = mysql_fetch_array($res)) 

echo ' 
  <tr> 
    <td width="50" height="25" style="border-bottom: 1px dotted #FFFFFF"><font size="2" face="Arial" color="#FFFFFF">'.$platzierung.'</font></td>
    <td width="200" height="25" style="border-bottom: 1px dotted #FFFFFF"><font size="2" face="Arial" color="#FFFFFF">'.$result['name'].'</font></td>
    <td width="50" height="25" style="border-bottom: 1px dotted #FFFFFF"><font size="2" face="Arial" color="#FFFFFF">'.$result['punkte'].'</font></td> 
    <td width="50" height="25" style="border-bottom: 1px dotted #FFFFFF"><font size="2" face="Arial" color="#FFFFFF">'.$result['entwicklung'].'</font></td> 
  </tr> 
'; $platzierung = $platzierung + 1;

echo '</table>'; 
?>
Mit Zitat antworten
  #2  
Alt 06.09.2005, 13:07:57
Damir Damir ist offline
Administrator
 
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
AW: Rangliste - Punktezuwachs zählen

Hi,

ich wuerde meine Tabelle um eine Spalte erweitern und diese "punkte_alt" nennen. Danach einfach dein Update:

PHP-Code:
mysql_query("UPDATE $tabelle SET punkte_alt = punkte, punkte = '$punkte' , entwicklung = '$entwicklung'  WHERE id = '$id'"); 
und schon kannst du bequem, ohne zu rechnen, den alten Punktestand auslesen.
Natuerlich kannst du dann auch super Berechnungen (auch innerhalb von SQL) durchführen - Du kannst natuerlich auch die Defferenz sofort beim Update durchführen.


Bye Damir
Mit Zitat antworten
  #3  
Alt 06.09.2005, 13:32:22
wallis wallis ist offline
Anfänger
 
Registriert seit: Jun 2005
Beiträge: 92
AW: Rangliste - Punktezuwachs zählen

Also die Differenz direkt beim Update anzeigen lassen wäre nicht schlecht.

Wie mache ich das denn genau ?
Mit Zitat antworten
  #4  
Alt 06.09.2005, 13:39:55
Damir Damir ist offline
Administrator
 
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
AW: Rangliste - Punktezuwachs zählen

Du willst ja immer die Differenz - also der Update bleibt gleich

PHP-Code:
mysql_query("UPDATE $tabelle SET punkte_alt = punkte, punkte = '$punkte' , entwicklung = '$entwicklung'  WHERE id = '$id'"); 
und der SELECT dazu waere


PHP-Code:
SELECT sumpunkte punkte_alt ) AS WERT FROM $tabelle WHERE id '$id' 
Jetzt hast du in $result['Wert'] die Differenz.

Bye Damir
Mit Zitat antworten
  #5  
Alt 07.09.2005, 01:51:19
wallis wallis ist offline
Anfänger
 
Registriert seit: Jun 2005
Beiträge: 92
AW: Rangliste - Punktezuwachs zählen

Hi !

Also ich habe jetzt die Tabelle neu erstellt.

Sie hat jetzt die Spalten:
id | name | punkte | punkte_alt | entwicklung

Allerdings kann ich mit deinem Select nicht umgehen.

Wärst du so nett und baust mir das kurz in mein Script ein ?
Wäre echh cool... am besten in beide Dateien. :-)

Gruss... und danke für die Hilfe !!!

WALLi

Geändert von wallis (07.09.2005 um 01:52:04 Uhr)
Mit Zitat antworten
  #6  
Alt 07.09.2005, 10:35:32
Damir Damir ist offline
Administrator
 
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
AW: Rangliste - Punktezuwachs zählen

Hi,

hab ja sonst nichts zu tun;-))

Einbauen kannst du es selbst - ist ja nur austauschen. Ausserdem sparen wir ja auch Datenbankbalast.

Achja, habe es natuerlich nicht getestet - das solltest du schon machen.

edit_main.php

PHP-Code:
$dbanfrage "SELECT id, name, punkte, entwicklung, sum( punkte - punkte_alt ) AS WERT FROM $tabelle GROUP BY id ORDER BY id"
sho_main.php

PHP-Code:
$dbanfrage "SELECT name, punkte, entwicklung, sum( punkte - punkte_alt ) AS WERT FROM $tabelle GROUP BY id ORDER BY punkte DESC"

Zugreifen kannst du jetzt auf die Differenz mit:

PHP-Code:
$result['WERT'

Bye Damir
Mit Zitat antworten
  #7  
Alt 07.09.2005, 12:50:55
wallis wallis ist offline
Anfänger
 
Registriert seit: Jun 2005
Beiträge: 92
AW: Rangliste - Punktezuwachs zählen

Also, ich habe aus dem "WERT" jetzt DIFFERENZ gemacht.

Und natürlich die Variable in differenz geändert.

Allerdings bekomme ich keine Ausgabe.
Eigentlich sollte er mir doch in der edi_main.php die Ausgabe in dem Textfeld anzeigen, mit dem Namen "punkte_alt", wenn ich da '.$result['differenz'].' reinschreibe oder ?

Da kommt nämlich nichts... er zeigt mir nach dem "UPDATE" nichts in dem Textfeld an. Komisch... woran liegts ?
Mit Zitat antworten
  #8  
Alt 07.09.2005, 13:23:36
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Rangliste - Punktezuwachs zählen

Zitat:
Zitat von wallis
Also, ich habe aus dem "WERT" jetzt DIFFERENZ gemacht.

Und natürlich die Variable in differenz geändert.

Allerdings bekomme ich keine Ausgabe.
Eigentlich sollte er mir doch in der edi_main.php die Ausgabe in dem Textfeld anzeigen, mit dem Namen "punkte_alt", wenn ich da '.$result['differenz'].' reinschreibe oder ?

Da kommt nämlich nichts... er zeigt mir nach dem "UPDATE" nichts in dem Textfeld an. Komisch... woran liegts ?
wo ist willi? natürlich musst du groß- und klein-schreibung beachten.
Mit Zitat antworten
  #9  
Alt 07.09.2005, 14:45:59
wallis wallis ist offline
Anfänger
 
Registriert seit: Jun 2005
Beiträge: 92
AW: Rangliste - Punktezuwachs zählen

Okay... das war ja auch logisch... auf die einfachsten Fehler kommt man net.

Allerdings ist die Ausgabe der Variablen "differenz" immer "0" !
Stimmt aber doch nicht. Sobald ich aus "50" Punkte, "51" mache, sollte er doch in der Spalte "punkte_alt" den Wert "1" eintragen und mir dann bei der ausgabe von "differenz" auf der "show_main.php" die "1" anziegen oder ?
Sehe ich doch richtig ?!?!
Mit Zitat antworten
  #10  
Alt 07.09.2005, 15:09:00
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Rangliste - Punktezuwachs zählen

Wie sehen deine Abfrage jetzt aus?
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateien zählen nach extensions selbi PHP Grundlagen 26 20.05.2005 08:23:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:04:56 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt