Probleme nach Update
- Thomas-RCV
- Former team member
- Beiträge: 786
- Registriert: 1. Aug 2011, 15:06
Re: Probleme nach Update
Pronlem behoben?
-
- Beiträge: 129
- Registriert: 15. Dez 2007, 17:53
Re: Probleme nach Update
Nein, nur blöd ausgedrückt! Ich wollte die Datei hochladen, aber der Server hat sich gewehrt und hinter allem einen Angriff gesehen. Jetzt habe ich es aber geschafft.! Der Code ist im Vorletzten Posting.
Re: Probleme nach Update
Hallo Gerhard,Gerhard0964 hat geschrieben:Ich habe jetzt überall
ausgebaut. So wie es hier beschrieben istCode: Alles auswählen
mysql_
wo ist denn das beschrieben? Das mysql_ musst du schon da lassen. Die Funktion query kennt php nicht, mysql_query schon.
Der Codeschnipsel von Thomas enthielt noch einen Fehler. Probier es mal hiermit:
Code: Alles auswählen
$user = new User($gDb, $gProfileFields, $row['usr_id']);
Fasse
-
- Beiträge: 129
- Registriert: 15. Dez 2007, 17:53
Re: Probleme nach Update
Hallo Fasse,
hier ist beschrieben, dass mysql_ weg muss:
http://www.admidio.org/dokuwiki/doku.ph ... iffsklasse
OK, ich habe es wieder eingebaut, dann kam der Fehler:
Da stand:
Nachdem ich mysql_ wieder in Zeile 170 und 172 ausgebaut habe, erhielt ich dies:
Sieht schon ganz gut aus, nur die "0" stört. Da standen bisher Zahlen.
hier ist beschrieben, dass mysql_ weg muss:
http://www.admidio.org/dokuwiki/doku.ph ... iffsklasse
OK, ich habe es wieder eingebaut, dann kam der Fehler:
Code: Alles auswählen
Fatal error: Call to undefined method DBMySQL::mysql_query() in /homepages/6/d137089371/htdocs/php/statistik_vsk_neu.php on line 170
Code: Alles auswählen
$result = $gDb->mysql_query($sql);
Code: Alles auswählen
Fußball:
Insgesamt: 0
Frauen: 0
Männer: 0
Durchschnittsalter: 0 Jahre
Durchschnittsalter Frauen: 0 Jahre
Durchschnittsalter Männer: 0 Jahre
Jüngstes Mitglied: 13
Ältestes Mitglied: 13
-
- Beiträge: 129
- Registriert: 15. Dez 2007, 17:53
Re: Probleme nach Update
So, schaut mal hier:
http://vsk-germania.de/index.php/mitgli ... istik.html
Die Abfragen an sich laufen wieder. Leider alle mit demselben Ergebnis.
Ich habe überall mysql_query und mysql_fetch_array in query und fetch_array geändert.
Sonst nur noch das fehlende $ bei $user = new User($gDb, $gProfileFields, $row['usr_id']); eingefügt.
http://vsk-germania.de/index.php/mitgli ... istik.html
Die Abfragen an sich laufen wieder. Leider alle mit demselben Ergebnis.
Ich habe überall mysql_query und mysql_fetch_array in query und fetch_array geändert.
Sonst nur noch das fehlende $ bei $user = new User($gDb, $gProfileFields, $row['usr_id']); eingefügt.
-
- Beiträge: 129
- Registriert: 15. Dez 2007, 17:53
Re: Probleme nach Update
Kann mir niemand sagen, warum ich kein Ergebnis mehr erhalte?
Re: Probleme nach Update
Hallo Gerhard,
in keinem Codebeispiel findet sich u.a. folgende Stelle: Wenn du hier ohne unsere Klasse $gDb arbeitest, dann muss das mysql_ davor. Wenn du mit unserer Klasse $gDb arbeitest, dann muss (wie dokumentiert) das mysql_ entfernt werden, allerdings dann auch die Klasse benutzen. Dein Codeschnipsel sähe dann folgendermaßen aus:
Gruß
Fasse
in keinem Codebeispiel findet sich u.a. folgende Stelle:
Code: Alles auswählen
$sql = 'SELECT count( `mem_rol_id` )as mitglieder FROM `adm_members` WHERE `mem_rol_id` = \'2\'';
$result = query ($sql) OR die (mysql_error());
$data = fetch_object ($result);
Code: Alles auswählen
$sql = 'SELECT count( `mem_rol_id` )as mitglieder FROM `adm_members` WHERE `mem_rol_id` = \'2\'';
$result = $gDb->query ($sql) OR die ($gDb->db_error());
$data = $gDb->fetch_object ($result);
Fasse
-
- Beiträge: 129
- Registriert: 15. Dez 2007, 17:53
Re: Probleme nach Update
Hallo Fasse,
also ich tu mir da schwer das zu verstehen. Woran erkenne ich, ob ich mit oder ohne Klasse arbeite? Und woher weiß ich, wenn ich mit der Klasse arbeite, wo ich was wie ändern muss?
Ich bin da halt extremer Amateur mit SQL und PHP. Mit dem Alten kam ich einigermaßen zurecht. Leider ist mein bisheriger Helfer nicht mehr so greifbar für mich.
Ich sag daher schon mal vielen Dank für jede Art von Hilfe.
GRuß
Gerhard
also ich tu mir da schwer das zu verstehen. Woran erkenne ich, ob ich mit oder ohne Klasse arbeite? Und woher weiß ich, wenn ich mit der Klasse arbeite, wo ich was wie ändern muss?
Ich bin da halt extremer Amateur mit SQL und PHP. Mit dem Alten kam ich einigermaßen zurecht. Leider ist mein bisheriger Helfer nicht mehr so greifbar für mich.
Ich sag daher schon mal vielen Dank für jede Art von Hilfe.
GRuß
Gerhard
-
- Beiträge: 129
- Registriert: 15. Dez 2007, 17:53
Re: Probleme nach Update
Hallo Fasse,
OK, Teil eins klappt. Die "einfachen" Ergebnisse habe ich. Warum funktioniert aber das hier nicht:
Da kommt dies raus:
Alles was sich ändert ist das Alter der Mitglieder. Von 43 in 13 Jahre.
Gruß
Gerhard
OK, Teil eins klappt. Die "einfachen" Ergebnisse habe ich. Warum funktioniert aber das hier nicht:
Code: Alles auswählen
<?php
include_once($_SERVER['DOCUMENT_ROOT']. "/admidio/adm_program/system/common.php");
$anzahl_mitglieder = 0;
$anzahl_maenner = 0;
$anzahl_frauen = 0;
$alter_mitglieder = 0;
$alter_maenner = 0;
$alter_frauen = 0;
$juengster = 200;
$aeltester = 0;
function Geburtstag($gebdat)
{
$tag = substr($gebdat,8,2);
$monat = substr($gebdat,5,2);
$jahr = substr($gebdat,0,4);
$jetzt = mktime(0,0,0,date("m"),date("d"),date("Y"));
$gb = mktime(0,0,0,$monat,$tag,$jahr);
$alter = intval(($jetzt - $gb) / (3600 * 24 * 365));
return $alter;
}
$sql = "SELECT usr_id, row1id1.usd_value, row4id2.usd_value, row7id10.usd_value, row10id11.usd_value, rol_id
FROM ". TBL_ROLES. ", ". TBL_CATEGORIES. ", ". TBL_MEMBERS. ", ". TBL_USERS. "
LEFT JOIN adm_user_data row1id1 ON row1id1.usd_usr_id = usr_id
AND row1id1.usd_usf_id = 1
LEFT JOIN adm_user_data row4id2 ON row4id2.usd_usr_id = usr_id
AND row4id2.usd_usf_id = 2
LEFT JOIN adm_user_data row7id10 ON row7id10.usd_usr_id = usr_id
AND row7id10.usd_usf_id = 10
LEFT JOIN adm_user_data row10id11 ON row10id11.usd_usr_id = usr_id
AND row10id11.usd_usf_id = 11
WHERE rol_id in (6)
AND rol_valid = 1
AND rol_cat_id = cat_id
AND cat_org_id = 1
AND mem_rol_id = rol_id
AND mem_begin <= '".DATE_NOW."'
AND mem_end > '".DATE_NOW."'
AND mem_usr_id = usr_id
AND usr_valid = 1
ORDER BY row1id1.usd_value ASC";
$result = $gDb->query($sql);
while($row = $gDb->fetch_array($result))
{
$user = new User($gDb, $gProfileFields, $row['usr_id']);
// Anzahl und Alter der Männer / Frauen
$geschlecht = $user->getValue("Geschlecht");
$geburtstag = Geburtstag($user->getValue("Geburtstag"));
if($geschlecht == 1)
{
$anzahl_maenner++;
$alter_maenner = $alter_maenner+$geburtstag;
}
else if($geschlecht == 2)
{
$anzahl_frauen++;
$alter_frauen = $alter_frauen+$geburtstag;
}else{
$anzahl_sonstige++;
$alter_sonstige = $alter_sonstige+$geburtstag;
}
if($geburtstag > $aeltester)
{
$aeltester = $geburtstag;
}
if($geburtstag < $juengster)
{
$juengster = $geburtstag;
}
}
echo "Insgesamt: <b>". ($anzahl_frauen+$anzahl_maenner);
echo "</b><br>";
echo "Frauen: <b>". $anzahl_frauen;
echo "</b><br>";
echo "Männer: <b>". $anzahl_maenner;
echo "</b><br>";
echo "Durchschnittsalter: <b>". round((($alter_maenner+$alter_frauen)/($anzahl_frauen+$anzahl_maenner)),0);
echo "</b> Jahre <br>";
echo "Durchschnittsalter Frauen: <b>". round(($alter_frauen/$anzahl_frauen),0);
echo "</b> Jahre <br>";
echo "Durchschnittsalter Männer: <b>". round(($alter_maenner/$anzahl_maenner),0);
echo "</b> Jahre <br>";
echo "Jüngstes Mitglied: <b>". $juengster;
echo "</b><br>";
echo "Ältestes Mitglied: <b>". $aeltester;
echo "</b><br><p>";
?>
Ich habe die Funktion auch schon abgeändert und aus $gb $gDb gemachtFußball:
Insgesamt: 0
Frauen: 0
Männer: 0
Durchschnittsalter: 0 Jahre
Durchschnittsalter Frauen: 0 Jahre
Durchschnittsalter Männer: 0 Jahre
Jüngstes Mitglied: 43
Ältestes Mitglied: 43
Code: Alles auswählen
unction Geburtstag($gebdat)
{
$tag = substr($gebdat,8,2);
$monat = substr($gebdat,5,2);
$jahr = substr($gebdat,0,4);
$jetzt = mktime(0,0,0,date("m"),date("d"),date("Y"));
$gDb = mktime(0,0,0,$monat,$tag,$jahr);
$alter = intval(($jetzt - $gDb) / (3600 * 24 * 365));
return $alter;
}
Gruß
Gerhard