Zurück   PSD-Tutorials.de > Webbereich > PHP und andere Scriptsprachen


Antwort
 
Themen-Optionen
Alt 09.08.2012, 15:39   #16 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.225

Geh deinen Code Schritt für Schritt durch und verstehe ihn. Du hast nur ein halbes Dutzend Zeilen, da ist das kein Problem:

PHP-Code:
$result mysql_query("SELECT noten_ab11.matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username"); 
Du fragst hier die Datenbank nach allen Zeilen, die bestimmte Eigenschaften erfüllen. Von diesen Zeilen benötigst du nur die Spalte mit dem Namen noten_ab11.matrikel. Die temporäre Ergebnis-Tabelle ist also eine Tabelle mit exakt einer Spalte und vielen Zeilen. Die Datenbank gibt dir dann einen Ressourcen-Handle zurück und speicherst ihn in $result.

PHP-Code:
if (!$result) {
    echo 
'Konnte Abfrage nicht ausführen: ' mysql_error();
    exit;

Falls $result nicht definiert / vorhanden oder False ist, dann muss der Fehler behandelt werden. $result ist dann nicht definiert, wenn in der Zeile vorher ein Fehler im mysql_query() aufgetreten ist. Das Handbuch von mysql_query() bestätigt das im Teil "Rückgabewerte".

PHP-Code:
$row mysql_fetch_row($result); 
Hier wird mithilfe des Handle die Datenbank nach exakt einer Zeile ("row") aus der temporären Ergebnis-Tabelle gefragt. Stell dir den Handle als Zeiger auf die erste Zeile vor. mysql_fetch_row() holt dann diese Zeile und schiebt den Zeiger auf die nächste Zeile. Deshalb ruft man mysql_fetch_row() auch in einer Schleife auf, falls man alle Zeilen aus der Ergebnis-Tabelle haben möchte. In deinem Beispiel fragst du aber nur nach der ersten Zeile. Diese wird in Form eines Arrays zurückgegeben.

Ergo steht in $row nun ein Array mit dem Inhalt der Zeile. Jedes einzelne Element entspricht dabei der Spalte die dort in der angefragten Zeile steht. Wenn deine Zeile also nur aus einer Spalte besteht, ist in dem Array nur ein Eintrag drin. Wenn du nun aus dem Array etwas holen willst, musst du den Index mit angeben. Das hast du schon mit $row[5] durchgeführt, wobei du hier das 6te Element holst (der Index beginnt bei 0).

PHP-Code:
print_r($row); 
Das ist eine Hilfsfunktion zur Fehlersuche, die dir den kompletten Inhalt des übergebenen Arrays ausgibt, ohne dass du den genauen Index wissen musst. Eigentlich solltest du das beim Ausführen gesehen haben.

Lange Rede, kurzer Sinn: in $row steht ein Array mit exakt einem Element. Dieses ist das erste Element mit Index 0. Du gibst aber lt. Eigenaussage das 6te Element mit Index 5 aus. Das 6te Element ist aber nicht definiert, weil in $row nur ein Element drin steht.


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten


Alt 10.08.2012, 08:38   #17 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14

Hallo Duddle,
danke erst einmal für die ausführliche Erklärung die mir einiges aber nicht alles klar gemacht hat *GrinZ*
Aber schön, das du deine Freizeit für mich Opferst

Die Geschichte mit dem Index habe ich gleich bemerkt das er bei 0 anfängt, ich benötige aber erst die 6 also Spalte 5. Das habe ich auch alles ordentlich eingetragen und funktioniert auch.

Meinen Programmierten Code habe ich auch verstanden - wo er was ausgeben möchte, wo er was sucht ... Mein Lösungsansatz mit INNER JOIN war auch soweit richtig, nur das du Ihn noch verfeinert hast Der aber nach meinen Wissenstand nicht funktioniert.

Die Geschichte mit
PHP-Code:
print_r($row); 
habe ich jetzt dank dir auch verstanden

Array mit exakt einem Element
Er gibt mir ja alles aus, aber nur die 2te Zeile mit Robbyn Abfrage - er vergleicht die Matrikel nicht mit dem Username, was bei INNER JOIN ( deiner Abfrage ) genau das richtige ist.

Bei der INNER JOIN abfrage macht er nichts mehr, ich hatte erst die befürchtung das ich in einer Tabelle den User vergessen hatte, um den zu vergleichen.

Oder muss ich jede spalte Seperat abfragen und dann in ein Array speichern? Aber mit dem SELECT * Frage ich doch schon alle spalten ab...

Ich hoffe Ihr verzweifelt nicht Entweder ist es zu Früh oder ich habe echt noch nicht das große Wissen um eigenständig mir zu Helfen, trotz Hilfe zur Selbsthilfe von euch...

*Kopf hoch geht immer weiter ... *

EDIT: Vielleicht sowas in der Art?
PHP-Code:
while($row mysql_fetch_array($result)) {
$resultset[$row['ID']] = $row;
$resultset[$row['matrikel']] = $row;
$resultset[$row['note1']] = $row;
$resultset[$row['note2']] = $row;
...

Aber in einer Schleife kann ich das doch nicht machen, da ich eine HTML Tabelle habe und dort das Array auslesen möchte einzeln.

Geändert von siriussmarty (10.08.2012 um 08:44 Uhr).
  Mit Zitat antworten
Alt 10.08.2012, 08:50   #18 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.225

Okay, entweder reden wir aneinander vorbei oder wir reden aneinander vorbei.

Bitte poste deinen gesamten Code zur Abfrage und Ausgabe deiner Ergebnisse. Falls da Unternehmensgeheimnisse o.ä. drinstecken kannst du die anonymisieren.

Der JOIN ist korrekt, zu 100%. Der Code zur Abfrage ist in Ordnung. Ergo sind entweder deine Daten oder der Code zur Ausgabe fehlerhaft, sonst würdest du sehen was du sehen willst.

Edit: vereinfacht ausgedrückt sieht deine Datenbank so aus und sollte durch die im Link gezeigten Abfrage auslesbar sein.

Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall

Geändert von Duddle (10.08.2012 um 08:53 Uhr).
  Mit Zitat antworten
Alt 13.08.2012, 08:59   #19 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14

Hey Duddle,
hier mein kompletter Quellcode, wird der Import auch gebraucht? Eigentlich, nicht da das ja funktioniert, hier die ausgabe, zudem soll gesagt sein, das er nach dem Joomla User suchen soll.

Quellcode inkl. Tabelle wo es ausgelesen werden soll Thihihi - schon ganz schön schwierig

PHP-Code:
<?php
// JOOMLA STAMMPFADE
define('_JEXEC'1);
define('JPATH_BASE'dirname(__FILE__));
define('DS'DIRECTORY_SEPARATOR);
require_once(
JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once(
JPATH_BASE .DS.'includes'.DS.'framework.php'); 
$mainframe JFactory::getApplication('site');
$mainframe->initialise();
$user =& JFactory::getUser();
$app =& JFactory::getApplication();
$session =& JFactory::getSession();
$config =& JFactory::getConfig();
jimport'joomla.user.helper' );
JHtml::_('behavior.framework'true);

// Datenbank Zugangsdaten
mysql_connect("localhost","...","...") or die ("Keine Verbindung moeglich");
mysql_select_db("...") or die ("Die Datenbank existiert nicht.");

// Datenbank ausgabe im Array $row 
$result mysql_query("SELECT noten_ab11.matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username"); 

if (!
$result) {
    echo 
'Konnte Abfrage nicht ausführen: ' mysql_error();
    exit;
}
$row mysql_fetch_row($result);

?>

<div style="float:left;">

<?php
// Ausgabe des Benutzername und Matrikel aus Joomla
     
if (!$user->guest) {
 echo 
$row[1];'<br>';
 echo 
$row[3];  echo $row[2];
}
?>
</div>
<div style="float:right"><br />
<?php 
// Ausgabe des Datum 
    
echo '<b>Stand:</b> ' $row[37]; 
    
?></div>
<div class="both">&nbsp;</div>

<table style="" class="tabelle" border="1" cellpadding="0" cellspacing="0">
  <tbody>
    <tr class="headnoten">
      <td width="30%">Überschrift</td>
      <td width="5%" class="center">1.</td>
      <td width="5%" class="center">2.</td>
      <td width="5%"  class="center">3.</td>
      <td width="5%"  class="center">4.</td>
      <td width="5%"  class="center">5.</td>
      <td width="5%"  class="center">6.</td>
      <td width="10%" class="center">Überschrift</td>
      <td width="10%" class="center">Überschrift</td>
      <td width="10%" class="center">Überschrift</td>
    </tr>
    <tr class="LP">
      <td>Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">&nbsp;</td>
    </tr>
    <tr class="schluesselkompetenzen">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
      <td class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="tdwa">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
      <td rowspan="3">&nbsp;</td>
      <td rowspan="8">&nbsp;</td>
    </tr>
    <tr class="giv">
      <td class="bezeichnung">Überschrift</td>
      <td class="grau"><?php echo $row[5]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="kkf">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[6]; ?></td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="qtmd">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="ebg">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
      <td rowspan="4">&nbsp;</td>
    </tr>
    <tr class="gwm">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="wsmmk">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[7]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td rowspan="2" class="center">Überschrift</td>
    </tr>
    <tr class="wssk">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[8]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="wertschöpfungskette">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
      <td class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="gbwl">
      <td class="bezeichnung">Überschrift</td>
      <td class="grau"><?php echo $row[9]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
      <td rowspan="4">&nbsp;</td>
      <td rowspan="24">&nbsp;</td>
    </tr>
    <tr class="puw">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[10]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="mwbl">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[11]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="mkvb">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[12]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="bwllr">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="erwl">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[13]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td rowspan="2" class="center">Überschrift</td>
      <td rowspan="4">&nbsp;</td>
    </tr>
    <tr class="erwll">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[14]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="klrl">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[15]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td rowspan="2" class="center">Überschrift</td>
    </tr>
    <tr class="klrll">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[16]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="bwlllf">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="ivur">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[17]; ?></td>
      <td>&nbsp;</td>
      <td rowspan="2" class="center">Überschrift</td>
      <td rowspan="3">&nbsp;</td>
    </tr>
    <tr class="fpf">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[18]; ?></td>
      <td>&nbsp;</td>
    </tr>
    <tr class="bws">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[19]; ?></td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="ufpuo">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="perwirt">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau" rowspan="3"><?php echo $row[20]; ?></td>
      <td>&nbsp;</td>
      <td rowspan="3" class="center">Überschrift</td>
      <td rowspan="3">&nbsp;</td>
    </tr>
    <tr class="perfuehr">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="untorg">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="ufcon">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="perwirt">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau" rowspan="3"><?php echo $row[21]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td rowspan="3" class="center">Überschrift</td>
      <td rowspan="3">&nbsp;</td>
    </tr>
    <tr class="contr">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="infoman">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="ulllue">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="intman">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[22]; ?></td>
      <td class="center">Überschrift</td>
      <td rowspan="2">&nbsp;</td>
    </tr>
    <tr class="inoman">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[23]; ?></td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="mimakok">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
      <td class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="einmi">
      <td class="bezeichnung">Überschrift</td>
      <td class="grau"><?php echo $row[24]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
      <td rowspan="3">&nbsp;</td>
      <td rowspan="7">&nbsp;</td>
    </tr>
    <tr class="makl">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[25]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td rowspan="2" class="center">Überschrift</td>
    </tr>
    <tr class="makll">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[26]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="mimakok">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="einmi">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[27]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
      <td rowspan="3">&nbsp;</td>
    </tr>
    <tr class="makl">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[28]; ?></td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="makll">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[29]; ?></td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="mimakok">
      <td colspan="8" class="headbeschreibung"><strong>Überschrift</strong></td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
      <td class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="einmi">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[30]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td rowspan="2" class="center">Überschrift</td>
      <td rowspan="3">&nbsp;</td>
      <td rowspan="8">&nbsp;</td>
    </tr>
    <tr class="makl">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[31]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr class="makll">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[32]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
    <tr class="mimakok">
      <td colspan="8" class="headbeschreibung">Überschrift</td>
      <td colspan="1" class="durchschnitt">Überschrift</td>
    </tr>
    <tr class="einmi">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[33]; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
      <td rowspan="4">&nbsp;</td>
    </tr>
    <tr class="makl">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[34]; ?></td>
      <td>&nbsp;</td>
      <td class="center" rowspan="2">Überschrift</td>
    </tr>
    <tr class="makll">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[35]; ?></td>
      <td>&nbsp;</td>
    </tr>
    <tr class="makll">
      <td class="bezeichnung">Überschrift</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td class="grau"><?php echo $row[36]; ?></td>
      <td>&nbsp;</td>
      <td class="center">Überschrift</td>
    </tr>
  </tbody>
</table>
  Mit Zitat antworten
Alt 16.08.2012, 11:51   #20 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.225

Okay, scheinbar hast du doch nicht verstanden wie das mit den Arrays funktioniert.

Stell dir vor, du hast einen Zug mit 3 Wagons. Jeder Wagon hat eine Bezeichnung und einen Inhalt. Die Liste könnte so aussehen:
Code:
Wagon 1: Gold
Wagon 2: Silber
Wagon 3: Bronze
Jetzt stell dir vor, du willst diesen Zug in einem Programm modellieren, um Fahrtstrecken u.ä. zu simulieren. Ergo brauchst du eine Datenstruktur, in denen du die Inhalte und eine genaue Zuweisung abspeichern kannst.
Der naive Ansatz wären 3 Variablen:
PHP-Code:
$wagon_1 "Gold";
$wagon_2 "Silber";
$wagon_3 "Bronze"
Das funktioniert so. Du merkst aber nach kurzer Zeit, dass es unnötig umständlich ist. Willst du zum Beispiel den kompletten Zug ausgeben, musst du schreiben:
PHP-Code:
echo "Der Zug hat in ";
echo 
"Wagon 1: ".$wagon_1.", ";
echo 
"Wagon 2: ".$wagon_2.", ";
echo 
"Wagon 3: ".$wagon_3
Noch schlimmer ist das Hinzufügen oder Entfernen von Wagons. Dann musst du plötzlich den gesamten Code nach allen Variablen-Vorkommmen durchsuchen und noch ein $wagon_4 einfügen. Kurz: der naive Ansatz funktioniert, ist aber nicht wünschenswert.

Dann fällt dir auf, dass der Zug ja im Endeffekt nur eine Liste von Nummern und deren Inhalten ist. Du findest schnell ein Feld oder Array als Datenstruktur. Das sind (grob gesagt) auch nur Listen von Daten. Du lernst auch nebenbei, dass Arrays in den meisten Programmiersprachen bei 0 beginnend indexiert werden und definierst den Zug so:
PHP-Code:
$wagons = array();
$wagons[0] = "Gold";
$wagons[1] = "Silber";
$wagons[2] = "Bronze"
Das ist gleichbedeutend mit:
PHP-Code:
$wagons = array("Gold""Silber""Bronze"); 
Willst du jetzt die gesamte Liste ausgeben brauchst du nur ein
PHP-Code:
echo "Der Zug hat in ";
foreach(
$wagons as $nr => $inhalt) {
  echo 
"Wagon $nr: ".$inhalt." "//fehlende Kommas ignorierend

Das Hinzufügen und Entfernen ist auch kein Problem mehr.

Jetzt stell dir folgende Frage: welchen Inhalt hat $wagons[4]? Oder $wagons[37]?

===

Was passiert bei einer Datenbankanfrage? Frage ich die Tabelle t1
Code:
id   | name
-----------
1    | foo
2    | bar
3    | baz
nach allen Namen, ist das natürlich einfach
PHP-Code:
$res mysql_query("SELECT name FROM t1"); 
In diesem Beispiel muss die Datenbank nur t1 nehmen und dort die Spalte "namen" rausholen / die anderen Spalten ausblenden. Intern verwaltet jetzt MySQL eine temporäre Tabelle, die zwar keinen Namen hat, deren Speicherort ich aber mit einem eindeutigen Bezeichner in $res abgelegt habe. Diese temporäre Tabelle sieht so aus:
Code:
name
----
foo
bar
baz
Jetzt möchte ich natürlich die Ergebnisse selbst auslesen. PHP bietet mir dafür mehrere Möglichkeiten, eine davon die Funktion mysql_fetch_row(). Sobald ich diese Funktion mit dem Ressourcen-Handler $res füttere, fragt PHP die Datenbank nach der Zeile, auf die in der temporären Tabelle ein interner Zeiger zeigt. Anfangs ist das natürlich die erste Zeile:
Code:
name
----
foo <-
bar
baz
MySQL gibt diese Zeile zurück und schiebt den Zeiger weiter. Intern sieht das so aus:
Code:
name
----
foo
bar <-
baz
PHP packt sie in ein Array und gibt dieses zurück. Im Code mag das so aussehen:
PHP-Code:
$res mysql_query("SELECT name FROM t1");
$zeile mysql_fetch_row($res); 
Intern steht dort nach Funktionsaufruf:
PHP-Code:
$zeile = array("foo"); 
Was steht also in $zeile[0], was kriegst du bei einem echo? Natürlich "foo".

Jetzt stell dir folgende Frage: welchen Inhalt hat $zeile[4]? Oder $zeile[37]?

===

Kommen wir (hoffentlich) zur Pointe des Aufsatzes:
Stell dir vor, du möchtest zwei Tabellen verbinden und aus dieser neuen, temporären Tabelle nur die Spalte "matrikel" haben. Die Ergebnistabelle könnte so aussehen:
Code:
matrikel
----
904234 <-
8291
485321
04931
Jetzt möchtest du natürlich die Ergebnisse selbst auslesen. Also lässt du dir die erste Zeile holen und in ein Array packen:
PHP-Code:
$result mysql_query("SELECT noten_ab11.matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username"); 
$row mysql_fetch_row($result); 
Was steht also in $row[0], was kriegst du nach einem echo? Natürlich "904234".

Nun zum letzten Mal: welchen Inhalt hat $row[4]? Oder was ist das Ergebnis von
PHP-Code:
// Ausgabe des Datum 
echo '<b>Stand:</b> ' $row[37]; 


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 17.08.2012, 09:17   #21 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14

Souuuuuuu DANKE! Er gibt mir schonmal alles aus auch dort wo ich das hin haben möchte, langer Weg aber mit Erfolg! Danke dir Duddle für deine Mühe!

Jetzt muss ich nur noch schauen, das er irgendwie erkennt das der Joomla User angemeldet ist und dann die Matrikelnummer aus der Notentabelle vergleicht mit der Joomla Usertabelle.

Uiii, vielleicht hat ja jemand noch Ahnung von Joomla und könnte mir vielleicht da noch helfen
  Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wordpress - Datenbanktabellen aktualisieren Debi1973 Allgemeines 10 11.09.2010 19:39
2 Textrahmen verbinden handsteiner Acrobat 9 25.03.2010 20:08
eventkalenderfür joomla 1.5 ( auch joomla 1.0 ) talkuvit Joomla! 2 14.04.2009 19:10
[joomla] Frage an Joomla Benutzer...Probleme?? kobii Joomla! 4 23.09.2008 16:26