Hi! Hab mich vor kurzem bei http://www.myminicity.com angemeldet! Jeder der sich kurz meine Stadt http://ivanman.myminicity.com ansieht unterstützt mich damit! Denn bei jedem Besucher wächst meine Stadt!
Danke!
Hi! Hab mich vor kurzem bei http://www.myminicity.com angemeldet! Jeder der sich kurz meine Stadt http://ivanman.myminicity.com ansieht unterstützt mich damit! Denn bei jedem Besucher wächst meine Stadt!
Danke!
Hi!
Hätt mal wieder ein Problem! Lasse ich mir bei meiner unteren Abfrage $stat_ids mittels print_r() ausgeben, steht statt der Spieler - ID's die in der Datenbank eingetragen sind, ne fortlaufende Zahl drin (0, 1, 2, ....)!
Eigentlich sollte es so aussehen:
Array ( [2] => 1, [5] => 1, [8] => 1)
bei mir siehts aber so aus:
Array ( [0] => 1, [1] => 1, [2] => 1)
Zitat$stat_ids = array();
$sel_stat = mysql_query("SELECT * FROM uhc_spielestatistik WHERE Spieleid = '$spielid'");
while($row = mysql_fetch_assoc($sel_stat))
{$stat_ids = array_merge($stat_ids, array($row['Spielerid'] => "1"));
}
mysql_free_result($sel_stat);
Kann mir jemand helfen bzw. erklären was ich falsch mache?
Hat sich schon erledigt! Sorry!
Lösung:
number_format($zahl / 100, 2, ',', '.')
Und gleich noch ne Frage!
Ich lese gerade Daten aus und dabei kommen dann Zahlen heraus die so aussehen: 224356. In Wirklichkeit lautet die Zahl 2243,56. Wie schaff ich es dass mir php die letzten zwei ziffern hinters komma schiebt. Habs schon mit number_format versucht, aber da hängt er einfach nur noch zwei 0 an und aus meiner Zahl wird dann 224356,00. Hat wer eine Lösung?
Morgen!
Hätte wieder mal ne Frage! Und zwar habe ich eine Abfrage bei der die einzelnen Datensätze mit GROUP BY dementsprechend zusammengefasst werden. Jetzt würde ich aber noch gerne wissen wieviele Elemente sich in jedem "Block", die sich durch GROUP BY bilden, befinden. Gibts da ne Möglichkeit?
Zitat$select_r = mysql_query("SELECT * FROM rzdanalyse WHERE kennung = 'R' GROUP BY krankenkasse, og");
Sorry - kapier ich nicht! Aber egal! Hauptsache es geht! Schönen Tag noch!
OK! Das unset war es doch nicht!
Ich habe mein Script wie folgt aufgerufen:
Zitat
Bei dieser Methode sind die Datensätze in meinem Array doppelt abgespeichert worden!
Natürlich muss es so heißen:
Zitat
Und seit dem funktioniert wieder alles!
Weiß aber jetzt jemand warum gerade die mysql Anweisung doppelt ausgeführt wurde und nicht auch die ECHO Anweisung? Wäre interessant zu wissen!
Ich weiß jetzt zumindest mit was es zusammenhängt! Und zwar mit einem unset! Dazu mein komplettes Speicherscript:
ZitatAlles anzeigen<?php
error_reporting(E_ALL);include ("checkuser.php");
$save = $_GET['save'];
$maxid = $_GET['maxid'];
$spielid = $_GET['spielid'];
$team = $_GET['team'];
$myarray = $_SESSION['array'];
$anzahl = count($myarray);unset ($_SESSION['array']);
include 'config.php';
$verbindung = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());for($x=0;$x<sizeof($myarray);$x++)
{$sub_array = current($myarray);
$name = key($myarray);
$tore = $sub_array['Tore'];
$siebener = $sub_array['Siebener'];
$position = $sub_array['Position'];
next($myarray);$save = mysql_query("INSERT INTO uhc_spielestatistik (Spieleid, Team, Spieler, Position, Tore, siebenmeter) VALUES ('$spielid', '$team', '$name', '$position', '$tore', '$siebener')");
echo "(X: $x) --> $spielid - $team - $name - $position - $tore - $siebener wurde gespeichert!
";
}
?>
Entferne ich dieses unset speichert mir das Script meine Einträge doppelt ab, lass ich es drin, dann speichert es alles nur 1mal (also richtig) ab - aber ich bekomm folgende Fehlermeldung:
ZitatNotice: Undefined index: array in /home/10266/......../spiele_statistik_speichern.php on line 10
An was kann das denn jetzt liegen?
Nein - leider auch nichts! Hab zwar $id definiert aber nirgends verwendet bzw. auch das entfernen aus dem Script hat nichts gebracht! Werd mich einfach weiter spielen müssen! Wenn ich was weiß meld ich mich!
Dikra: Das dacht ich mir - denn dort etwas abziehn bringt nichts (schon gar nicht wenn mein Array nur aus 1 Element besteht). Dann wird die Schleife logischerweise gar nicht durchlaufen und es wird somit nichts abgespeichert! Hab das in meiner Verzweiflung ja trotzdem mal ausprobiert!
No0ob: Bei den runden Klammern hab ich mich nur hier beim Posting vertippt! Ich hab das Script auch nicht 2mal aufgerufen! Ich leere immer wieder die Tabelle in meiner Datenbank, rufe das Script 1mal auf und habe 2 Einträge drin! Und keiner weiß warum - das is zum kotzen!
Hat keiner ne Idee?
Nein, das next rückt den internen Zeiger im array um eins weiter! Siehe auch hier.
Wie ich vermutet hatte ergibt auch die foreach Funktion das gleiche Ergebnis! Damit steht fest, dass es definitv nicht an der Art der Schleife liegt! Vielleicht hat ja jemand noch ne zündende Idee!?!
Ich werds mal versuchen, aber wie sollte das mein Problem lösen?? Die for-Schleife wird ja 1mal (das ist ja auch richtig!!) durchlaufen. Somit sollte er die mysql Anweisung 1mal ausführen und die ECHO Anweisung 1mal ausführen! Wie man am Screenshot oben sieht speichert das Script aber 2mal - und ich weiß nicht warum!!
Dann speichert er natürlich gar nichts wenn sizeof($myarray) 1 ergibt!
Außerdem ist das merkwürdige ja, dass er anscheinend die mysql_query Anweisung 2mal ausführt, aber die ECHO Anweisung gleich darunter nur 1mal!
[Blockierte Grafik: http://www.ivanman.at/Sonstiges/screenshot.gif]
Morgen!
Hab ein Problem dass mir im Moment Kopfschmerzen bereitet weil ich nicht weiß warum es überhaupt auftritt. Führe ich nämlich den unteren Quellcode aus dann speichert er mir den Datensatz der sich in $myarray befindet doppelt in der Datenbank ab, gibt aber die ECHO - Meldung nicht 2mal sondern nur 1mal zurück! Die Funktion sizeof($myarray) gibt den Wert 1 zurück! Wie geht das? Kann mir jemand helfen?
ZitatAlles anzeigenfor($x=0;$x<sizeof($myarray);$x++)
{$sub_array = current($myarray);
$name = key($myarray);
$spielid = $sub_array('SpielID');
$team= $sub_array('Team');
$tore = $sub_array['Tore'];
$siebener = $sub_array['Siebener'];
$position = $sub_array['Position'];
$id = $sub_array['ID'];
$save = mysql_query("INSERT INTO uhc_spielestatistik (Spieleid, Team, Spieler, Position, Tore, siebenmeter) VALUES ('$spielid', '$team', '$name', '$position', '$tore', '$siebener')");
echo "$spielid - $team - $name - $position - $tore - $siebener // wurde gespeichert!
";next($myarray);
}
Ja, ich weiß! Leider funktionierts genau so nicht! Sorry! Hab aber jetzt eh schon ne Lösung. Zwar nicht so komfortabel, aber es klappt!
OK, nachdem anscheinend niemand einen Rat weiß werd ichs auf die umständliche Art machen! Falls jemandem doch noch etwas einfällt wäre ich ihm sehr dankbar!
Schönen Tag!
Hi!
Hatte vor einiger Zeit schon mal ein ähnliches Problem! Habe eine Tabelle namens SPIELE. In dieser Tabelle sind alle Spiele aller Altersgruppen unseres Vereins enthalten. Ich möchte nun eine Abfrage, die mir für jedes Team (Altersgruppe) immer das zu letzt erfolgte Spiel ausgibt.
Zitat$sel_ae = mysql_query("SELECT * FROM uhc_spiele WHERE Ergebnis != '' ORDER BY Timestamp DESC LIMIT 1");
Die aktuelle Abfrage bringt natürlich nur das aktuellste Ergebnis, und nicht für jedes Team. Wie muss ich die Abfrage verändern? Habs schon mit DISTINCT und GROUP BY versucht, aber da hab ich nur Fehler bekommen!
Danke!