Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo an alle

Ich hoffe das ihr mir helfen könnt. folgendes Problem:

Ich bekomme das ergebnis einer Datanbankabfrage (mysql) das ich mit PHP ausgeben möchte. Das klappt auch. Nun versuche ich einen Wert aus jededem Datensatz herauszunehmen, diesen zu bearbeiten und danach in die Tabelle zurück zu schreiben. Bisher sieht mein PHP wie folgt aus:

$datensatz = mysql_fetch_array($trefferliste);

if ($i%2)

$zeit=$datensatz['jahre']

$zeit=$zeit-10(*1500)

{

echo "<tr style=\"background:#00FFFF\";>

<td>".$datensatz['nachname']."</td>

<td>".$datensatz['vorname']."</td>

<td>".$datensatz['jahre']."</td>

<td>$zeit</td></tr>";

}

else

Mein Problem liegt in der Zeile mit "$zeit".Dort soll eine Berechnung stattfinden. Wie stelle ich es an, das mir das gelingt.

Danke im voraus

vbler

Geschrieben

hmm

muss nicht bei mysql_fetch_array

eigentlich mit ner while schleife gearbeitet werden?

$datensatz = mysql_fetch_array($trefferliste);

while ($datensatz) {

$zeit=$datensatz['jahre'];

$ergebnis=$zeit-10(*1500);

}

echo $ergebnis;

sorry bin leider aus php etwas raus, vielleicht hilft es

Geschrieben

Danke aber das klappt nicht. Der Fehler wird für die berechnungszeile ausgegeben.

Ich befürchte das ich die berechnung im SQL-Statement durchführen muß.

Geschrieben

Ja muss man normalerweise - zumindest, wenns nicht nur ein Datensatz ist, der dabei rauskommt.

@VBler:

Was gibt deine Berechnung denn momentan aus und was steht in dem Feld des Arrays mit dem du rechnen willst drin?

Und vor allem: Was soll das mit dem $zeit=$zeit-10(*1500); überhaupt machen? Also jetzt speziell das (*1500). :confused:

Das ist falsche Syntax und kann nicht funktionieren.

Soll das $zeit = ($zeit-10)*1500; heissen oder was?

Geschrieben

In dem Feld jahre steht eine Zahl drin, größer als 11. Dies wird in der Abfrage gefiltert. Nun soll ausgerechnet werden, das für jedes Jahr das mehr als 10 ist, eine Prämie von 1500.-€ ausgezahlt werden soll. Dies macht die berechnung.

Geschrieben

Try this :)

Und wenn's funktioniert, "danke" sagen ;)

<?

// Beispiel-SQL, sollte dem Problem naheliegen
$sql = '
SELECT
vorname,
nachname,
jahre
FROM
mitarbeiter
WHERE
angestellt = 1
AND jahre > 11
';

$query = mysql_query($sql);
$result = array();
$praemie = 1500; // Euro

if(mysql_num_rows($query) > 0)
{
while($row =mysql_fetch_assoc($query); // WICHTIG: assoc, *NICHT* array - siehe php.net/mysql_fetch_assoc
{
$praemienjahre = max(0, intval($row['jahre']) - 10); // Info: Durch das max() bekommen wir immer Null oder größer, aber nie Minuswerte
$row['praemie'] = $praemienjahre * $praemie; // Theoretisch wird das WHERE jahre > 11 obsolet.

$result[] = $row;
}
}

?>

<h1>Praemienuebersicht</h1>

<table>
<tr>
<th>Vorname</th>
<th>Nachname</th>
<th>Jahre</th>
<th>Praemie</th>
</tr>

<? if(sizeof($result) > 0) { foreach($result as $person) { ?>

<tr>
<td><?= $person['vorname'] ?></td>
<td><?= $person['nachname'] ?></td>
<td><?= $person['jahre'] ?></td>
<td><?= $person['praemie'] ?></td>
</tr>

<? } } else { ?>

<tr>
<td colspan="4">Keine Daten vorhanden</td>
</tr>

<? } ?>

</table>
[/PHP]

Grüße,

freescale

Geschrieben

Danke freescale

Ich habe es probiert, aber es kommt immer eine Fehlermeldung bei der zeile:

while($row =mysql_fetch_assoc($query);

vbler

Geschrieben
Ich habe es probiert, aber es kommt immer eine Fehlermeldung bei der zeile:

while($row =mysql_fetch_assoc($query);

Da fehlt eine schließende Klammer.

nach while ist ein semikolon zuviel.

Das außerdem. ;)

Geschrieben

Für "from brain to hand" find ich 2 Fehler eigentlich noch ganz ok :)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...