PHP Problem - Super_RPi - 23.01.2015 19:26
Guten Abend liebe Community,
ich bin Super_RPi und bin 19 Jahre alt.
In der Schule machen wir gerade verschiedenste Projekte. Ich bin mache mit zwei anderen
ein Infosystem für unsere Schule, sprich ein digitaler Vertretungsplan.
Einer aus unserer Gruppe ist wirklich fit in der Webentwicklung und hat schon ein fertiges Infosystem geschrieben, nur die Ausgabe stimmt noch nicht ganz. Hier liegt auch das Problem.
Der der das System geschrieben hat ,will/kann/möchte oder was auch immer die Ausgabe nich richtig stellen. Somit muss ich mich nun mit dem anderen in seinen Code reinarbeiten, was gar nicht so einfach ist.
Die Grundstruktur haben wir hinbekommen, aber mit dem Auslesen aus der Datenbank kommt da ein "heiloses durcheinander" raus.
Hier so sieht es mit einem Datensatz in der Reihe aus, so soll es sein:
[Link: Registrierung erforderlich]
So sieht es, aber aus wenn noch ein zweiter, dritter, etc. in die Reihe dazu kommt. Das ist irgendwie komisch und wir kriegen, dass nicht hin. Wir habe schon gefühlt, das halbe Internet durchsucht, aber ohne Erfolg.
[Link: Registrierung erforderlich]
Hier der Code:
<?php include("config.php"); include("page.php");
$ergebnis_vplan_list = mysql_query("SELECT * FROM klasse ORDER BY kuerzel ASC"); $kl_anz_klasse = mysql_affected_rows(); ?>
<div id="infotafel_scroll" style="overflow-x:auto; overflow-y:hidden; height:500px; background-color:#ffffff;"> <table id="v_table" border="1" cellspacing="0" cellpadding="2"> <tr id="v_tr_3" style="height: 40px; text-align: center; font-weight: bold;"><td>Stunde/<br>Klasse</td><td id="st_ei" style="width: 60px;">1</td><td id="st_zw" style="width: 60px;">2</td><td style="width: 60px;">3</td><td style="width: 60px;">4</td><td style="width: 60px;">5</td><td style="width: 60px;">6</td><td style="width: 60px;">7</td><td style="width: 60px;">8</td></tr> <div id="box" style="margin-bottom:10px;"> <div id="v_all"> <div id="v_box"> <?php while($row = mysql_fetch_object($ergebnis_vplan_list)) { $kl_id = $row->id; printf("<tr><td id='v_tr_3' style='width: 40px; height: 40px;'><b>".$row->kuerzel."</b></td>");
/* printf("<tr id='v_tr_<?php echo'$z';?>"); $z = 0; */
$ergebnis_vplan_list2 = mysql_query("SELECT * FROM vertretung WHERE klasse_id = '$kl_id' ORDER BY v_datum ASC, v_stunde ASC"); if (mysql_num_rows($ergebnis_vplan_list2)===0) { printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); } else { while($row = mysql_fetch_array($ergebnis_vplan_list2)) { if($z == 2){$z--;}else{$z++;} $v_id = $row['id']; $v_v_stunde = $row['v_stunde']; $info = $row['info']; printf($v_v_stunde); ?> <td><?php if($v_v_stunde == '1') { printf($info); } ?></td> <td><?php if($v_v_stunde == '2') { printf($info); } ?></td> <td><?php if($v_v_stunde == '3') { printf($info); } ?></td> <td><?php if($v_v_stunde == '4') { printf($info); } ?></td> <td><?php if($v_v_stunde == '5') { printf($info); } ?></td> <td><?php if($v_v_stunde == '6') { printf($info); } ?></td> <td><?php if($v_v_stunde == '7') { printf($info); } ?></td> <td><?php if($v_v_stunde == '8') { printf($info); } ?></td>
<?php } } } ?> <tr id="v_tr_3" style="height: 40px; text-align: center; font-weight: bold;"><td>Klasse/<br>Stunde</td><td style="width: 60px;">1</td><td style="width: 60px;">2</td><td style="width: 60px;">3</td><td style="width: 60px;">4</td><td style="width: 60px;">5</td><td style="width: 60px;">6</td><td style="width: 60px;">7</td><td style="width: 60px;">8</td></tr> </tr> </table> </div>
Wenn jemand einen Rat weiß, dann wäre es sehr nett wenn ihr uns helfen könntet und schreibt bitte nur Beiträge die uns weiterhelfen und auch nicht sowas wie "Voll unsauberer Code", dass wissen wir selber. Es soll erstmal funktionieren.
Gruß,
Super_RPi
RE: PHP Problem - Scharock - 23.01.2015 19:42
Ich hoffe das ihr den Code in eurem Editor eingerückt habt.
Dann sollte folgendes aufallen:
Zeile 31 wird ein <tr> geöffnet.
Zeile 72 wird wieder ein <tr> geöffnet ohne das das alte geschlossen wurde
und
in Zeile 26 wird <div id="v_box"> geöffnet und nie wieder geschlossen.
Außerdem ist es unheimlich hilfreich in eurem Browser das Developer tool zu nutzen um sich den HTML Code anzuschauen.
Ich denke dann findet du/ihr den Fehler direkt.
RE: PHP Problem - Nilss - 23.01.2015 19:47
Guten Abend,
ich heiße Nils Schantz und würde "euch" gerne weiterhelfen.
Bitte teile mir deine Kontaktdaten mit oder am besten mich via Skype anschreiben.
Skype: In-Iw-Skype
RE: PHP Problem - Super_RPi - 23.01.2015 19:57
@ Scharock
Das offene <tr>, welches du in Zeile 72 beschreibst finde ich nicht.
RE: PHP Problem - Scharock - 23.01.2015 20:32
@ Scharock
Das offene <tr>, welches du in Zeile 72 beschreibst finde ich nicht.
Hm ich habe den Code eingerückt, kann sein das ich daher etwas mehr Zeilen habe.
Der Code ist sonst nicht annähernd lesbar.
Wie gesagt prüfe den Code mit dem Browser - Developer Tool.
RE: PHP Problem - Super_RPi - 23.01.2015 20:42
Was kommt vor deinem <tr> vielleicht weiss ich dann was du meinst?
RE: PHP Problem - Aaron - 24.01.2015 00:23
Auch wenn du es nicht hören möchtest, die Fehlerquelle ist hier der extrem unsaubere Code - einrücken und validieren!
Und mysql_ ist veraltet - entweder mysqli oder pro nutzen.
RE: PHP Problem - Super_RPi - 24.01.2015 12:36
Weiß, denn keiner einen Rat.
Wir wären euch echt dankbar.
Hier der eingerückte Code:
<?php include("config.php"); include("page.php");
$ergebnis_vplan_list = mysql_query("SELECT * FROM klasse ORDER BY kuerzel ASC"); $kl_anz_klasse = mysql_affected_rows(); ?>
<div id="infotafel_scroll" style="overflow-x:auto; overflow-y:hidden; height:500px; background-color:#ffffff;"> <table id="v_table" border="1" cellspacing="0" cellpadding="2"> <tr id="v_tr_3" style="height: 40px; text-align: center; font-weight: bold;"><td>Stunde/<br>Klasse</td><td id="st_ei" style="width: 60px;">1</td><td id="st_zw" style="width: 60px;">2</td><td style="width: 60px;">3</td><td style="width: 60px;">4</td><td style="width: 60px;">5</td><td style="width: 60px;">6</td><td style="width: 60px;">7</td><td style="width: 60px;">8</td></tr> <div id="box" style="margin-bottom:10px;"> <div id="v_all"> <div id="v_box"> <?php while($row = mysql_fetch_object($ergebnis_vplan_list)) { $kl_id = $row->id; printf("<tr><td id='v_tr_3' style='width: 40px; height: 40px;'><b>".$row->kuerzel."</b></td>");
/* printf("<tr id='v_tr_<?php echo'$z';?>"); $z = 0; */
$ergebnis_vplan_list2 = mysql_query("SELECT * FROM vertretung WHERE klasse_id = '$kl_id' ORDER BY v_datum ASC, v_stunde ASC"); if (mysql_num_rows($ergebnis_vplan_list2)===0) { printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); printf("<td></td>"); } else { while($row = mysql_fetch_array($ergebnis_vplan_list2)) { $v_id = $row['id']; $v_v_stunde = $row['v_stunde']; $info = $row['info']; printf($v_v_stunde); ?> <td><?php if($v_v_stunde == '1') { printf($info); } ?></td> <td><?php if($v_v_stunde == '2') { printf($info); } ?></td> <td><?php if($v_v_stunde == '3') { printf($info); } ?></td> <td><?php if($v_v_stunde == '4') { printf($info); } ?></td> <td><?php if($v_v_stunde == '5') { printf($info); } ?></td> <td><?php if($v_v_stunde == '6') { printf($info); } ?></td> <td><?php if($v_v_stunde == '7') { printf($info); } ?></td> <td><?php if($v_v_stunde == '8') { printf($info); } ?></td>
<?php } } } ?> </tr> <tr id="v_tr_3" style="height: 40px; text-align: center; font-weight: bold;"><td>Klasse/<br>Stunde</td><td style="width: 60px;">1</td><td style="width: 60px;">2</td><td style="width: 60px;">3</td><td style="width: 60px;">4</td><td style="width: 60px;">5</td><td style="width: 60px;">6</td><td style="width: 60px;">7</td><td style="width: 60px;">8</td></tr>
</table> </div>
Gruß,
Super_RPi
RE: PHP Problem - Scharock - 24.01.2015 12:42
Wie gesagt prüfe den Code mit dem Browser - Developer Tool.
Langsam grenzt es hier an:
"Hey ihr Blödmänner, könnt ihr nicht einfach meine Hausaufgaben machen und mir die verdammte Lösung in den Ar*** schieben?
Was seit ihr denn für Penner mir zu sagen ich sollte das selber machen?
Nur weil das MEINE Hausaufgaben sind?
Also beeilt euch mal mit der blöden Lösung."
RE: PHP Problem - Super_RPi - 24.01.2015 13:05
@Scharock
Entschuldigung, falls dass so rüber kommt. Aber wie habe echt keine Idee wo
das Problem liegt. Sorry, falls ich deswegen nervig bin.
Gruß,
Super_RPi
P.S.: Ihr sollt ja auch gar nicht die Hausaufgaben machen, ich habe nur eine Frage gestellt, ob es denn jemand wissen könnte wo das Problem liegt.
RE: PHP Problem - sic_ - 25.01.2015 10:48
Frag doch mal auf PHP.de nach. Es könnte aber sein, dass dort auch keiner Lust hat, deine HA zu machen.
RE: PHP Problem - Scharock - 25.01.2015 12:14
P.S.: Ihr sollt ja auch gar nicht die Hausaufgaben machen, ich habe nur eine Frage gestellt, ob es denn jemand wissen könnte wo das Problem liegt.
Nein kann niemand.
Hier fehlt z.B. die Datenbank.
Wie soll man das ausführen ohne die DB zu haben oder den Inhalt zu kennen?
Außerdem handelt es sich hier um ein HTML Logik Fehler, welchen man nur mit dem Browser Developer Tools sehen kann.
Und das könnt ihr dann sehen, wenn ihr es denn machen würdet.
Also sage ich, dass ihr einfach nur scheiße dumm oder faul seid.
Oder auch beides.
Das sind deine/eure Hausaufgaben und selbst mit der Hilfestellung kommt ihr nicht weiter?
Dann hast du/ihr auch nichts bessere als eine 6 verdient.
Sag deinem Lehrere, dass du es nicht verstehst.
Ha sind zum lernen da. Es bringt dir nichts ne tolle 1 zu kassieren weil ein anderer aus dem Team alles geschrieben hat und jmd. aus dem Internet es gefixt hat.
HA sind dazu da etwas zu lernen und normalerweise selbstständig eine Lösung zu finden.
Da du das alleine scheinbar nicht verstehst, tut mir das wirklich sehr leid.
Aber beschäftige dich mit dem Problem und nimm die Hilfe an.
Wenn du dem Lehrer sagst, dass du es nicht verstehst, kann er dir sicher weiter helfen, dass ist sein Beruf.
Und auch seine Aufgabe, nicht die von Leuten aus dem Internet.
Ansonsten würde ich sagen lern HTML.
Wenn du jtz mit der klassischen Antwort: "Ich kann HTML" kommst, dann sag ich nur: "NEIN!"
Du kannst scheinbar kein HTML. Also lern es, informier dich darüber,
damit du HTML lesen kannst. Dann kannst du das Problem auch spielend lösen.
RE: PHP Problem - Super_RPi - 30.01.2015 13:36
Hi,
Danke für eure zahlreichen "Arschtritte" , wir haben es jetzt hinbekommen. Wenn man nach der Logick geht, war es eigentlich relativ einfach.
Nur noch einen kleine Frage, nun wollen wir doppelstunden einbauen. Dies haben wir auch schon relativ hinbekommen. Reinlogisch haben wir jetzt, wenn einen bestimmte bedienung erfüllt ist, dann mache colspan="2". Wie gesagt funktioniert super. Aber, da die 8 spalte die ihr in dem bild seht fest sind, hängt der wenn colspan aktivh ist einfach noch eine Spalte hinten dran.
Meine bzw. Unsere Frage: Kann man Spalten irgendwie mitteilen, sodass sich die eine Spalte mit der anderen verbindet.
Gruss,
Super_RPi
RE: PHP Problem - Scharock - 30.01.2015 13:50
Mitzählen.
Ihr baut (sehr unsauber) die Spalten und Zeilen mit doppelt geschriebenem Code.
Eig. müsste hier eine dynamische Schleife her aber egal.
8 Zeilen.
Initialisiere eine Variable mit dem Wert 8.
Erzeuge so lange Zeilen und reduziere die Variable um die erstellten Zeilen bis die Variable = 0 ist.
Tada, jetzt kann man unbegrenzt viele Stunden kombinieren.
|