Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Altern funktioniert nicht (https://www.gegen-bilderklau.net/thread.php?threadid=148686)


Geschrieben von Startpost-Retter am 15.01.2009 um 15:05:

  Altern funktioniert nicht

Huhu smile
Ich bräuchte mal wieder Hilfe mit dem stinkenden PHP Krams ;D

Und zwar möchte ich die Pferde jeden Monat um ein Jahr altern lassen, habe das Skript erstellt und lasse dieses eben jeden Monat aufrufen. Habe es gerade zum Test aufgerufen und gesehen, dass sich am Alter nichts geändert hat. Wäre lieb, wenn sich den Code mal jemand anschauen könnte :>

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<?php
$sqlhost "localhost";
$sqluser "X";
$sqlpassword "X";
$sqldb "rosemont";
mysql_connect($sqlhost,$sqluser,$sqlpassword) or die ("Kann nicht verbinden, check das Passwort!"); mysql_select_db($sqldb) or die ("Sicher dass die Datenbanksache stimmt?");

$sql "SELECT * FROM pferde";
$result mysql_query($sql) OR die(mysql_error());
while ($row=mysql_fetch_assoc($result) ) {
$id $row['id'];
$geburtstag $row['geburtstag'];
$geburtstag '1';
$sql "UPDATE pferde SET geburtstag = '$geburtstag' WHERE id='$id'";
mysql_query($sql);
}
?>



Geschrieben von stogadis am 15.01.2009 um 15:43:

 

wie ist geburtstag denn aufgebaut? eine reine zahl oder steht da sowas wie "5 jahre"



Geschrieben von stogadis am 15.01.2009 um 16:12:

 

hm oke XP

vll eher WHERE id == '$id' aber ist auch nur ne vermutung ^^ ich seh jetz so auf anhieb keinen fehler



Geschrieben von Jessie am 15.01.2009 um 17:24:

 

Bei mir hats nicht funktioniert als das Geburtsdatum 'alter' hieß, habs dann in 'geburt' geändert und das ging, vllt liegst bei dir auch daran, versuch doch mal zu ändern.



Geschrieben von 1Sm!le am 15.01.2009 um 21:43:

 

Zitat:
Original von ANGEL_05
Also, wie es bei mir funktioniert (weil MySQL auch so ne Zählfunktion hat) ist so:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<?php
$sqlhost "XXX";
$sqluser "XXX";
$sqlpassword "XXX";
$sqldb "XXX";
mysql_connect($sqlhost,$sqluser,$sqlpassword) or die ("Kann nicht verbinden, check das Passwort!"); mysql_select_db($sqldb) or die ("Sicher dass die Datenbanksache stimmt?");

$sql "UPDATE pferde SET geburtstag = geburtstag + 1";
mysql_query($sql);

?>


Wenn das Alter eine Zahl (int) ist, und nur das Alter in Jahren beinhaltet, ist das hier die sauberste, schnellste Lösung.
Ihr alle habt aber
code:
1:
mysql_close();

ignoriert. Das ist nicht sehr empfehlenswert, weil solltet ihr mal viele Benutzer zugleich haben, kann das die Datenbank schon unnötig belasten.



Geschrieben von 1Sm!le am 16.01.2009 um 10:01:

 

Je nachdem wie die Seite aufgebaut ist, aber nicht immer so schnell, wie man es haben könnte, wenn man drauf achtet.
Klar, 1000000 Connections entstehen so nicht.



Geschrieben von Black Katrin am 16.01.2009 um 15:14:

 

wieso funktioniert das wenn die spalte alter heisst? wudnert mich grad



Geschrieben von Black Katrin am 16.01.2009 um 15:24:

 

Zitat:
Original von Mordred
Zitat:
Original von Black Katrin
wieso funktioniert das wenn die spalte alter heisst? wudnert mich grad


Dafür sind die Backticks da


wie was?



Geschrieben von Black Katrin am 16.01.2009 um 15:35:

 

Zitat:
Original von BlackTear
Zitat:
Original von Black Katrin
wieso funktioniert das wenn die spalte alter heisst? wudnert mich grad


Tut es ja außerdem nicht Augenzwinkern Mordred hat den Code vom 1. Beitrag genommen & geändert. Weiter in der Mitte des Themas steht, dass ich "alter" auf "jahre" geändert hab.



Freude ok... dachte schon bin total veraltet... damit hab ich nämlich jedesmal wenn ich wieder mit coden anfange erst n heiden stress Freude



Geschrieben von Black Katrin am 16.01.2009 um 16:06:

 

ah.. ok ich versuchs mir zu merken für die zukunft Freude betonung liegt glaubs bei versuchen, nti bei merken lol


Forensoftware: Burning Board, entwickelt von WoltLab GmbH