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

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
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. ;)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...