Seite auslesen und 3 Spalten einer Tabelle löschen

Frag halt mal ob sie dir die Informationen auch noch anderweitig ausgeben können. XML oder so?

Hi,

wenn du es über PHP machen möchtet. Brauchst du sockets aber gibt hier mit bplaced pro oder auf square7 …

Hier ein (fast) fertiges Script:

[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;

// Zeichenfolge vor relevanten Einträgen
$startstring = “

”;

// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “

”;

$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);

// Nun werden die Daten entsprechend gefiltert.
for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$resultat .= str_replace($endstueck,"",$resb);
$resultat .= " : “;
}
}
$ergebnis = explode(” ; “, $resultat);
foreach($ergebnis as $name => $wert) {
echo $name .”: “. $wert .”
";
}
[/code]
Dann brauchst nur noch ablesen lesen welche zellen du brauchst werden ja durch das foreach ausgegeben (die zahlen dafor merken) und dann kannst es foreach löschen und wie ganz normale php variablen verwenden

lg flo

//ediit: hier ein link zum script grojer.square7.ch/bforumantwort.php
//edit2: mist wird ja zeile für zeile ausgelesen

Hi,

hab verbesserungen am Code von mir oben gepostet vorgenommen und klappt es glaub ich mal so wie du es wolltest. Jetz kannst du die Infos wo du benötigst einfach per $ergebnis[NUMMER] ausgeben lassen.

Hier ein Bsp. da stehen auch die nummern die du statt NUMMER einsetzen musst.
grojer.square7.ch/bforumantwort.php

lg flo

[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;

// Zeichenfolge vor relevanten Einträgen
$startstring = “<td align=“left””;

// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “”;

$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);

// Nun werden die Daten entsprechend gefiltert.
$del1 = “bgcolor=”#CCCCFF" >";
$del2 = “bgcolor=”#9999FF" >";

for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$hilfsvariable = str_replace($endstueck,"",$resb);
$hilfsvariable = str_replace($del1,"", $hilfsvariable);
$hilfsvariable = str_replace($del2,"", $hilfsvariable);
$resultat .= $hilfsvariable;
$resultat .= " ; “;
}
}
$ergebnis = explode(” ; “, $resultat);
foreach($ergebnis as $name => $wert) {
echo $name .”: “. $wert .”
";
}
?>[/code]

ich bedanke mich

hier das resultat:
xetu-hosting.de/Vertretungsplan_ … n/bg12.php

jetzt bin ich dabei mein Menü in Android zu basteln mal schauen wie das hinhaut

Hi,

bitte kein Problem :wink:
Hab dein Problem einfach als weiterbildung für mich genutzt :stuck_out_tongue:
Hab davor mit externen seiten noch nie so wirklich was zu tun gehabt

lg flo

hallo,
habe noch ein Problem

hier mal meine Page derzeit:

xetu-hosting.de/bg12.php

so nun habe ich das Problem das Merkmal bei Raumänderungen leer bleibt und bei Arbeitsaufträgen also muss ich wenn Merkmal leer bleibt den Wert einer anderen Spalte laden

derzeit lasse ich den Wert für Mermal so ausgeben:

echo '<td align="left" bgcolor="#CCCCFF">'. $ergebnis[$g] ."</td>"; $g = $g +24;

wobei $g immer hochgezählt wird in der Schleife mit +24

wie kann ich jetzt Prüfen ob $ergebnis[$g] leer ist ? weil anscheind wenns leer ist ein Leerzeichen drinne ist

gruß
danke für die Hilfe

hoi so :wink:

if(empty($ergebnis[g])) { // Variable leer oder null } else { //varialbe mit irgend einem inhalt }

p.s. wird nicht klappen da da lgaub immer mit drin steht

&nsbp;

sonst musst du halt prüfen ob nur ein leer zeichen drin ist prüfen so in der art:

if($ergebnis[g] == '&nbsp;') { //nur ein leerzeichen } else { // i-was anderes als leerzeichen }

oder

if($ergebnis[g] != '&nbsp;') { //i-was nur kein leerzeichen }

lg flo

hinter jeden Frei scheint auch ein Leerzeichen zu stehen :stuck_out_tongue:

also es klappt gar nix lässt die zeile einfach weiterhin leer … total kacke …

HI… ja das macht nichts es würd überprüft ob einzig und allein ein leerzeichen vorkommt …

wenn du das auch überprüfen willst ob bei frei und leerzeichen vorkommt dann machst halt

if($variable == ‘Frei&nsbp;’) {
// Frei + leerzeichen
}

//edit: schreib doch mal bitte echo “”. $ergebnis[g] ."";

einfach nur damit man die zeile eindeutig indentivizieren kann und dann schickst du mir bitte den code ausschnitt dann pass ich die if anfrage an

hier mal mein gesamter Code klappt alles noch net so wie ich mir das vorstelle :stuck_out_tongue:
die IF abfrage klappt immer noch nicht

[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;

// Zeichenfolge vor relevanten Einträgen
$startstring = “<td align=“left””;

// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “”;

$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);

// Nun werden die Daten entsprechend gefiltert.
$del1 = “bgcolor=”#CCCCFF" >";
$del2 = “bgcolor=”#9999FF" >";

for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$hilfsvariable = str_replace($endstueck,"",$resb);
$hilfsvariable = str_replace($del1,"", $hilfsvariable);
$hilfsvariable = str_replace($del2,"", $hilfsvariable);
$resultat .= $hilfsvariable;
$resultat .= " ; “;
}
}
$ergebnis = explode(” ; ", $resultat);

foreach($ergebnis as $name => $wert) {
$name ;
}

$table_erstellen = $name - 11 / 12;
$table_erstellen = $table_erstellen / 12 /2;
$table_erstellen = floor ($table_erstellen);

echo '
<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

Vertretungsplan 12BG - bs-gelnhausen.de/Vertretungsplan (c) bs-gelnhausen h1 { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Right} h2 { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: left} caption { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: center; height: 40} p { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} remark { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Left} a { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left; text-decoration: none} body { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} td { font-family: Tahoma; font-size: 12px; font-weight: normal} '; echo '

Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!

'; echo ''; echo '"; echo '"; echo '"; echo '"; echo '"; echo '"; echo '"; echo "";

$a = 12;
$b = 13;
$c = 14;
$d = 15;
$e = 16;
$f = 21;
$g = 22;
$h = 26;

for ($j=0;$j<$table_erstellen;$j++){
echo “

”;
echo ‘";
$a = $a + 24;
echo ‘";
$b = $b +24;
echo ‘”;
$c = $c +24;
$h = $h +24;
echo ‘";
$d = $d +24;
echo ‘";
$e = $e +24;
echo ‘";
$f = $f +24;
if ($ergebnis[$g] == ‘Frei&nsbp;’) {
echo’";
}
if ($ergebnis[$g] != ‘Frei&nsbp;’) {
echo’’;
}
$g = $g +24;
echo "</tr>";

}
echo “

'. $ergebnis[0] ."'. $ergebnis[1] ."'. $ergebnis[2] ."'. $ergebnis[3] ."'. $ergebnis[4] ."'. $ergebnis[9] ."'. $ergebnis[10] ."
’. $ergebnis[$a] ."’. $ergebnis[$b] ."’. $ergebnis[$c] . “/” . $ergebnis[$h] . “’. $ergebnis[$d] ."’. $ergebnis[$e] ."’. $ergebnis[$f] ."’. $ergebnis[$g] ."Merkmal
”;

echo ’

mobile code by | xetu-hosting.de
Created by daVinci 5 | www.stueber.de

';

?>[/code]

danke schonmal
gruß

So sollte es gehn:

hallo,
also bei mir geht das immer noch nicht

siehe meine ausgelesene Seite:

xetu-hosting.de/bg12.php

und die original Seite steht überall Frei aber trotzdem wird überall Merkmal angezeigt

bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html

hi füg mal des einfach genau so ein und poste dann mal den quelltext

[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;

// Zeichenfolge vor relevanten Einträgen
$startstring = “<td align=“left””;

// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “”;

$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);

// Nun werden die Daten entsprechend gefiltert.
$del1 = “bgcolor=”#CCCCFF" >";
$del2 = “bgcolor=”#9999FF" >";

for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$hilfsvariable = str_replace($endstueck,"",$resb);
$hilfsvariable = str_replace($del1,"", $hilfsvariable);
$hilfsvariable = str_replace($del2,"", $hilfsvariable);
$resultat .= $hilfsvariable;
$resultat .= " ; “;
}
}
$ergebnis = explode(” ; ", $resultat);

foreach($ergebnis as $name => $wert) {
$name ;
}

$table_erstellen = $name - 11 / 12;
$table_erstellen = $table_erstellen / 12 /2;
$table_erstellen = floor ($table_erstellen);

echo '
<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

Vertretungsplan 12BG - bs-gelnhausen.de/Vertretungsplan (c) bs-gelnhausen h1 { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Right} h2 { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: left} caption { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: center; height: 40} p { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} remark { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Left} a { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left; text-decoration: none} body { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} td { font-family: Tahoma; font-size: 12px; font-weight: normal} '; echo '

Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!

'; echo ''; echo '"; echo '"; echo '"; echo '"; echo '"; echo '"; echo '"; echo "";

$a = 12;
$b = 13;
$c = 14;
$d = 15;
$e = 16;
$f = 21;
$g = 22;
$h = 26;

for ($j=0;$j<$table_erstellen;$j++){
echo “

”;
echo ‘";
$a = $a + 24;
echo ‘";
$b = $b +24;
echo ‘”;
$c = $c +24;
$h = $h +24;
echo ‘";
$d = $d +24;
echo ‘";
$e = $e +24;
echo ‘";
$f = $f +24;
if ($ergebnis[$g] == ‘Frei’) {
//
//
//Das passiert wenn in Merkmal Frei drinnen ist
//
//
echo’";
} else {
//
//
//Das passiert wenn in Merkmal NICHT Frei drinnen ist
//
//
echo’’;
}

//test
echo ‘

’. $ergebnis[$g] .’

’;

$g = $g +24;

echo “

”;
}
echo “
'. $ergebnis[0] ."'. $ergebnis[1] ."'. $ergebnis[2] ."'. $ergebnis[3] ."'. $ergebnis[4] ."'. $ergebnis[9] ."'. $ergebnis[10] ."
’. $ergebnis[$a] ."’. $ergebnis[$b] ."’. $ergebnis[$c] . “/” . $ergebnis[$h] . “’. $ergebnis[$d] ."’. $ergebnis[$e] ."’. $ergebnis[$f] ."’. $ergebnis[$g] ."Merkmal
”;

echo ’

mobile code by | xetu-hosting.de
Created by daVinci 5 | www.stueber.de

';

?>[/code]

hallo,
also dann mal hier de Quelltext

[code]<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

Vertretungsplan 12BG - bs-gelnhausen.de/Vertretungsplan (c) bs-gelnhausen h1 { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Right} h2 { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: left} caption { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: center; height: 40} p { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} remark { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Left} a { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left; text-decoration: none} body { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} td { font-family: Tahoma; font-size: 12px; font-weight: normal}

Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!

$ergebnis[$g]

$ergebnis[$g]

$ergebnis[$g]

Datum Tag Stunde Lehrer Fach VRaum Merkmal
16.12.2010 Do 1 / 2 SCUL WIBE4   Merkmal
    3 / 4 SAND e5   Merkmal
    5 / 6 FALK d5   Merkmal

mobile code by | xetu-hosting.de
Created by daVinci 5 | www.stueber.de

[/code]

Hi,

hab nen fehler rein gemacht sorry… bitte übernimm nochmal den Code von oben
also aus diesem Post:
viewtopic.php?p=322350#p322350

Hab das oben ausgebessert da ich nicht in jedem Post den gleichen Code wiederholen will wird langsam unübersichtlich :wink:
Wäre nett wenn du dann nochmal den neuen Quellcode Postest

lg flo

hallo,
hier nochmal der aktuelle Quelltext:
im div id test steht Frei drinn von daher passt iwas mit der if abfrage nicht :stuck_out_tongue:
weiß nur selbst auch kein meter was da net stimmt

[code]<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

Vertretungsplan 12BG - bs-gelnhausen.de/Vertretungsplan (c) bs-gelnhausen h1 { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Right} h2 { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: left} caption { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: center; height: 40} p { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} remark { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Left} a { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left; text-decoration: none} body { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} td { font-family: Tahoma; font-size: 12px; font-weight: normal}

Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!

Frei

Frei

Frei

Datum Tag Stunde Lehrer Fach VRaum Merkmal
16.12.2010 Do 1 / 2 SCUL WIBE4   Merkmal
    3 / 4 SAND e5   Merkmal
    5 / 6 FALK d5   Merkmal

mobile code by | xetu-hosting.de
Created by daVinci 5 | www.stueber.de

[/code]

HI

Jackpot :wink:

[code]


Frei

[/code]

d.h. in der variable $ergebnis[$g] steht nicht

drinnen sondern

[quote][leerezeile]
Frei
[leerezeile]
[/quote]

Also sollte die if so lauten müssen

if($ergebnis[$g] != '\nFrei\n') { //dies passiert wenn nicht frei drinnensteht } else { //dies passiert wenn frei drinnensteht }
bzw. wenn das nicht klappt dann:

$hilfsvariable = ' Frei '; if($ergebnis[$g] != $hilfsvariable) { //das passiert wenn nicht frei drinnen steht } else { //das passiert wenn Frei drinnen steht }

hoffen wirs mal das es endlich klappt

lg flo

Ist vielleicht eventuell

trim()

behilflich? Das entfernt nämlich auch \n und normale Leerzeichen.

:wink2:

stimmt voll vergessen … dann

if(trim($ergebnis[$g]) == 'Frei') { //das kommt wenn frei drinnen steht } else { //das kommt wenn nicht frei drinnen steht }

danke mgier

lg flo