problem mit Ausgabe
holger
- php
Hi
ich habe in einem PHP Skript folgenden Codeausschnitt:
echo "<br><table width=700 cellspacing=5 cellpadding=2 border=0>";
$j = 1;
while ($j < sizeof($adressen)) {
echo "<tr>";
for ($i = 0; $i < 3; $i++) {
if ($adressen[$j][0] != ""){
echo "<td bgcolor="ffcc00" class=wit>".$adressen[$j][0]."";
echo " | Fachbereich: ".$adressen[$j][4]."</font> |";
echo " ( Status: ".$adressen[$j][3]."</font> )";
echo "</td><td bgcolor="ff4411" class=wit><a href="adressen.php?naam=".urlencode($adressen[$j][0])."" class=wit>Details click</a></td></tr>";
} else if ($adressen[$j][0] != "") {
echo "<td><a href="adressen.php?naam=".urlencode($adressen[$j][0])."">".$adressen[$j][0]."</a></td>";
} else {
echo "<td></td>";
}
$j++;
}
echo "</tr>";
}
echo "</table>";
Dies gibt mir aus einem Flatfile (adressen.txt) Daten formatiert aus.
mit
if ($adressen[$j][0] != "")
kann ich ja einschränken, das nur gefüllte Felder (zumindest in Arrayfeld 0) ausgegeben werden. Wie schaffe ich es aber Werte zu filtern, d.h z.B. nur die Werte auszugeben bei denen im Flat Feld "Meier" steht ?
Schreibe ich
if ($adressen[$j][0] != "Meier")
dann gibt das Prog alle Einträge aus und setzt den Wert auf Meier.
Was mach ich falsch ???
greetz Holger
Hello Holger,
woher kommt denn Dein $adressen?
Ich konnte da auf den ersten Blick keinen Fehler sehen.
Grüße
Tom
Hello Holger,
woher kommt denn Dein $adressen?
Ich konnte da auf den ersten Blick keinen Fehler sehen.
Grüße
Tom
Hi Tom
$adressen kommt hierher aus dem "; separierten" Textfile:
$n = 0; $adressen = array();
$fp = fopen("adressen.txt", "r"); while (!feof($fp)) { $line = fgets($fp, 1024); if ($line) { $line = chop_newline($line); $line = stripcslashes($line);
$adres = array();
$adres = split(";", $line); $adressen[$n] = $adres;
$n++; } } fclose($fp);
gruß Holger
Anbei mal der gesamte Code des Progs:
<? include("header.php");
function adressen_cmp($adresa, $adresb) { if ($adresa[0] == $adresb[0]) return 0; if ($adresa[0] < $adresb[0]) return -1; if ($adresa[0] > $adresb[0]) return 1; }
function schrijfadressen($adressen) { $fp = fopen("adressen.txt", "w"); for ($i = 0; $i < sizeof($adressen); $i++) { $line = ""; for ($j = 0; $j < sizeof($adressen[$i]); $j++) { if ($j != 0) $line .= ";"; $line .= $adressen[$i][$j]; } $line = addjsslashes($line); fputs($fp, "$line\n"); } fclose($fp); }
function indexof_adres($adressen, $naam) { for ($i = 0; $i < sizeof($adressen); $i++) if ($adressen[$i][0] == $naam) break; return $i; }
$n = 0; $adressen = array();
$fp = fopen("adressen.txt", "r"); while (!feof($fp)) { $line = fgets($fp, 1024); if ($line) { $line = chop_newline($line); $line = stripcslashes($line);
$adres = array();
$adres = split(";", $line); $adressen[$n] = $adres;
$n++; } } fclose($fp);
$actie = $HTTP_POST_VARS["actie"]; $naam = urldecode($HTTP_POST_VARS["naam"]); if (!$naam) { $naam = urldecode($HTTP_GET_VARS["naam"]); } $email = stripcslashes($HTTP_POST_VARS["email"]); $adres = stripcslashes($HTTP_POST_VARS["adres"]); $telefoon = stripcslashes($HTTP_POST_VARS["telefoon"]); $neues = stripcslashes($HTTP_POST_VARS["neues"]);
if ($actie == "toevoegen" || $actie == "wijzigen" || $actie == "verwijderen") { if (!$naam) $actie = ""; else { if ($actie == "toevoegen") { $i = sizeof($adressen); $adressen[$i][0] = "$naam"; $adressen[$i][1] = "$email"; $adressen[$i][2] = "$adres"; $adressen[$i][3] = "$telefoon"; $adressen[$i][4] = "$neues"; schrijfadressen($adressen); }
elseif ($actie == "wijzigen") { for ($i = 0; $i < sizeof($adressen); $i++) { if ($adressen[$i][0] == $naam) { break; } } if ( $i != sizeof($adressen)) { $key = $i; $adressen[$key][0] = "$naam"; $adressen[$key][1] = "$email"; $adressen[$key][2] = "$adres"; $adressen[$key][3] = "$telefoon"; $adressen[$key][4] = "$neues"; schrijfadressen($adressen); } }
else if ($actie == "verwijderen") { for ($i = 0; $i < sizeof($adressen); $i++) if ($adressen[$i][0] == $naam) break;
if ($i == sizeof($adressen)) $key = false; else $key = $i;
if (!($key === false)) { $adressen[$key] = $adressen[sizeof($adressen) - 1]; $adressen = array_slice($adressen, 0, sizeof($adressen) - 1); schrijfadressen($adressen); } } } }
usort($adressen, adressen_cmp);
echo "<br><table width=700 cellspacing=5 cellpadding=2 border=0>"; $j = 1;
while ($j < sizeof($adressen)) { echo "<tr>"; for ($i = 0; $i < 3; $i++) { if ($adressen[$j][0] != ""){ echo "<td bgcolor="ffcc00" class=wit>".$adressen[$j][0].""; echo " | Fachbereich: ".$adressen[$j][4]."</font> |"; echo " ( Status: ".$adressen[$j][3]."</font> )"; echo "</td><td bgcolor="ff4411" class=wit><a href="adressen.php?naam=".urlencode($adressen[$j][0])."" class=wit>Details click</a></td></tr>"; } else if ($adressen[$j][0] != "") { echo "<td><a href="adressen.php?naam=".urlencode($adressen[$j][0])."">".$adressen[$j][0]."</a></td>"; } else { echo "<td></td>"; } $j++; } echo "</tr>"; } echo "</table>";
if ($naam) { echo "<script language="javascript">"; echo " vuladresform(".indexof_adres($adressen, $naam).");"; echo "</script>"; }
?> </td></tr></table> </body> </html>