Johnnii360
Erfahrenes Mitglied
Servus zusammen!
Ich steh gerade aufm Schlauch. Ich weiß, dass Arrays immer 0-9 usw. aufgebaut werden müssen. Allerdings geht es - zumindest nach meiner Überlegung - im Moment nicht anders und muss eine Array etwas durcheinander aufbauen um SQL-Abfragen zu reduzieren.
Ich habe hier ein Array ($FormFields). Da habe ich einmal Hard Coded Fields und einmal dynamische die ich aus der DB auslese. Die Anzeige ist in 5 Spalten aufgeteilt, dementsprechend darf die Array nur max. 5 Einträge haben.
Jemand eine Idee wie ich das am besten löse, damit er mir net dauernd den Offset 3 und 5 ankreidet?
(Zeile 361 ist hier der Teil in der While-Schleife.
Hier der Code:
Ich steh gerade aufm Schlauch. Ich weiß, dass Arrays immer 0-9 usw. aufgebaut werden müssen. Allerdings geht es - zumindest nach meiner Überlegung - im Moment nicht anders und muss eine Array etwas durcheinander aufbauen um SQL-Abfragen zu reduzieren.
Ich habe hier ein Array ($FormFields). Da habe ich einmal Hard Coded Fields und einmal dynamische die ich aus der DB auslese. Die Anzeige ist in 5 Spalten aufgeteilt, dementsprechend darf die Array nur max. 5 Einträge haben.
Jemand eine Idee wie ich das am besten löse, damit er mir net dauernd den Offset 3 und 5 ankreidet?
Code:
Notice: Undefined offset: 3 in /var/www/intranet/htdocs/public/2014/sites/teamwork_add.php on line 361
Notice: Undefined offset: 5 in /var/www/intranet/htdocs/public/2014/sites/teamwork_add.php on line 361
Hier der Code:
PHP:
/**
* Definiere Anzahl an Tabspalten
*/
$tabSections = 5;
/**
* Hard Coded Felder
*/
// - Vorgangstyp [1]
$FormFields['1'] = '<label for="vorgang">Vorgangstyp</label><select id="vorgang" name="vorgang"><option disabled value="none" selected> </option>';
$SQLQueryString = "SELECT id,vorgangsart FROM ".$tabname_teamwork_progresses." ORDER BY vorgangsart ASC";
$Records = $mysqli->query($SQLQueryString) or print('<option>'.$mysqli->error.'</option>');
while($Result = $Records->fetch_array())
{
$FormFields['1'] .= '<option value="'.$Result['id'].'">'.$Result['vorgangsart'].'</option>';
}
$FormFields['1'] .= '</select><p style="padding: 0; margin: 0 0 10px 0;"></p>';
// - Kunde [1]
$FormFields['1'] .= '<label for="kunde">Kunde <img src="images/IconHelp.png" width="16" height="16" alt="Suche nach dem Kunden gibt bei Klick die Kundennummer an" title="Suche nach dem Kunden gibt bei Klick die Kundennummer an" style="border: none; vertical-align: middle;"></label><input type="text" id="kunde" name="kunde" placeholder="Firmen- o. Nachname" class="text ui-content required"><p id="Kundenname"> </p>';
// - Notizen [1]
$FormFields['1'] .= '<label for="notizen" style="display: none;">Notizen</label><textarea id="notizen" name="notizen" rows="5" class="text ui-content" style="display: none;"></textarea>';
// - Beschreibung [2]
$FormFields['2'] = '<label for="beschreibung" style="display: none;">Beschreibung</label><textarea id="beschreibung" name="beschreibung" rows="5" class="text ui-content" style="display: none;"></textarea>';
// - Ersteller [4]
$FormFields['4'] = '<label for="erstellertxt">Ersteller</label><p id="erstellertxt" style="padding: 0; margin: 5px 0 10px 0; line-height: 22px;">'.$_SESSION['UserLastName'].', '.$_SESSION['UserFirstName'].'</p><input type="hidden" id="ersteller" name="ersteller" value="'.$_SESSION['UserID'].'">';
// - Verantwortlicher [4]
$FormFields['4'] .= '<label for="pv">Verantwortlicher</label><select id="pv" name="pv"><option disabled selected value=""> </option><option value="0">Allgemein</option>';
$SQLQueryStringExecutive = "SELECT id,vorname,nachname,username FROM ".$tabname_users." WHERE nachname!='Merlin' ORDER BY nachname ASC";
$RecordsExecutive = $mysqli->query($SQLQueryStringExecutive) or print('<option selected>'.$mysqli->errno.'</option>');
while($ResultExecutive = $RecordsExecutive->fetch_assoc())
{
$IsUser = ($ResultExecutive['username'] == $_SESSION['UserName'])?' selected':'';
if(!empty($ResultExecutive['vorname']) && $ResultExecutive['vorname'] != "Admin")
{
$FormFields['4'] .= '<option value="'.$ResultExecutive['id'].'"'.$IsUser.'>'.$ResultExecutive['nachname'].', '.$ResultExecutive['vorname'].'</option>';
}
else
{
$FormFields['4'] .= '<option value="'.$ResultExecutive['id'].'"'.$IsUser.'>'.$ResultExecutive['nachname'].'</option>';
}
}
$FormFields['4'] .= '</select><p style="padding: 0; margin: 0 0 10px 0;"></p>';
// - Bearbeiter 1 [4]
$FormFields['4'] .= '<label for="bearbeiter">Bearbeiter</label><select id="bearbeiter" name="bearbeiter"><option disabled selected value=""> </option><option value="0">Allgemein</option>';
$SQLQueryStringReviser = "SELECT id,vorname,nachname,username FROM ".$tabname_users." WHERE nachname!='Merlin' ORDER BY nachname ASC";
$RecordsReviser = $mysqli->query($SQLQueryStringReviser) or print('<option selected>'.$mysqli->errno.'</option>');
while($ResultReviser = $RecordsReviser->fetch_assoc())
{
$IsUser = ($ResultReviser['username'] == $_SESSION['UserName'])?' selected':'';
if(!empty($ResultReviser['vorname']) && $ResultReviser['vorname'] != "Admin")
{
$FormFields['4'] .= '<option value="'.$ResultReviser['id'].'"'.$IsUser.'>'.$ResultReviser['nachname'].', '.$ResultReviser['vorname'].'</option>';
}
else
{
$FormFields['4'] .= '<option value="'.$ResultReviser['id'].'"'.$IsUser.'>'.$ResultReviser['nachname'].'</option>';
}
}
$FormFields['4'] .= '</select><p style="padding: 0; margin: 0 0 10px 0;"></p>';
// - Bearbeiter 2 [4]
$FormFields['4'] .= '<label for="bearbeiter2">Bearbeiter #2</label><select id="bearbeiter2" name="bearbeiter2"><option disabled selected value=""> </option><option value="0">Allgemein</option>';
$SQLQueryStringReviser2 = "SELECT id,vorname,nachname,username FROM ".$tabname_users." WHERE nachname!='Merlin' ORDER BY nachname ASC";
$RecordsReviser2 = $mysqli->query($SQLQueryStringReviser2) or print('<option selected>'.$mysqli->errno.'</option>');
while($ResultReviser2 = $RecordsReviser2->fetch_assoc())
{
$IsUser = ($ResultReviser2['username'] == $_SESSION['UserName'])?' selected':'';
if(!empty($ResultReviser2['vorname']) && $ResultReviser2['vorname'] != "Admin")
{
$FormFields['4'] .= '<option value="'.$ResultReviser2['id'].'"'.$IsUser.'>'.$ResultReviser2['nachname'].', '.$ResultReviser2['vorname'].'</option>';
}
else
{
$FormFields['4'] .= '<option value="'.$ResultReviser2['id'].'"'.$IsUser.'>'.$ResultReviser2['nachname'].'</option>';
}
}
$FormFields['4'] .= '</select><p style="padding: 0; margin: 0 0 10px 0;"></p>';
// - Status [4]
$FormFields['4'] .= '<label for="status">Status</label><select id="status" name="status">';
$SQLQueryStringStatus = "SELECT * FROM ".$tabname_teamwork_status." ORDER BY id ASC";
$RecordsStatus = $mysqli->query($SQLQueryStringStatus) or print('<option selected>'.htmlspecialchars($mysqli->errno).'</option>');
while($ResultStatus = $RecordsStatus->fetch_assoc())
{
$FormFields['4'] .= '<option value="'.$ResultStatus['statuswert'].'">'.$ResultStatus['statusanzeige'].'</option>';
}
$FormFields['4'] .= '</select><p style="padding: 0; margin: 0 0 10px 0;"></p>';
// - Fortschritt [4]
$FormFields['4'] .= '<label for="fortschritt">Fortschritt</label><select id="fortschritt" name="fortschritt"><option disabled value=""> </option>';
for($num = 1; $num <= 10; $num++)
{
$FormFields['4'] .= '<option value="'.$num.'0%">'.$num.'0%</option>';
}
$FormFields['4'] .= '</select><p style="padding: 0; margin: 0 0 10px 0;"></p>';
// - Eingang [4]
$FormFields['4'] .= '<label for="eingangsdatum">Eingang</label>';
$ThisTimestamp = time();
$FormFields['4'] .= '<p style="padding: 0; margin: 5px 0 10px 0; line-height: 22px;">'.date("d.m.Y, H:i:s", $ThisTimestamp).'</p>';
$FormFields['4'] .= '<input type="hidden" id="eingangsdatum" name="eingangsdatum" value="'.date("Y-m-d H:i:s", $ThisTimestamp).'">';
// - Termin [4]
$FormFields['4'] .= '<label for="termin">Termin</label><input type="text" id="termin" name="termin" class="text ui-content" placeholder="TT.MM.JJJJ">';
/**
* Auslesen und auflisten der einzelnen Felder
*/
$SQLFormFields = $mysqli->query("SELECT * FROM ".$tabname_teamwork_fields." ORDER BY feldposition ASC") or die($mysqli->error);
while($FormField = $SQLFormFields->fetch_assoc())
{
$FormFields[$FormField['feldposition']] .= '<label for="'.$FormField['feldname'].'" class="'.$FormField['feld_benoetigt_in'].'">'.$FormField['feldbezeichnung'].'</label>'.FormatField ($FormField['feldart'], $FormField['feldname'], $FormField['feldwert'], $FormField['feld_benoetigt_in']);
}
/**
* Sortiere die Array
*/
ksort($FormFields);
/**
* Erstellen und Auflisten der Tabspalten
*/
for($tc = 1; $tc < $tabSections; $tc++)
{
echo '<div class="tabSection">';
echo $FormFields[$tc];
echo '</div>';
}