Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Dynamisch gestalten [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Dynamisch gestalten


 
Wotan
11-03-2003, 22:40 
 
Wie kann man sowas Dynamisch gestalten?

<td><font class="font2">Monat:</font></td>
<td><font class="font2"><select name="monat" size="1" class="font2">
<option value="01">Januar</option>
<option value="02">Februar</option>
<option value="03">März</option>
<option value="04">April</option>
<option value="05">Mai</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Dezember</option></select></font></td>


Jetzt möchte ich nicht jeden Monat ein Update auf die Datei machen, also wie kann ich das jetzt ambesten Dynamisch machen?

Gleiches gilt auch für das Jahr. Wobei ich als Startdatum das Jahr 2000 brauche und nun soll folgender Code erstellt werden. Nur mit dem Unterschied das jedes Jahr eine Jahreszahl hinzukommt.:

<td><font class="font2">Jahr:</font></td>
<td><font class="font2"><select name="jahr" size="1" class="font2">
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
</select></font></td>

Es sollte so sein das immer der aktuelle Monat und das aktuelle Jahr selected ist.

 
Abraxax
11-03-2003, 22:45 
 
hier mal was aus meiner anfangszeit..... ;)

<?php

if ( ($datum_monat == "") || ($datum_jahr == "") )
{
$datum_monat = date("m")-1 ;
$datum_jahr = date("Y") ;

if ( $datum_monat == "0" ) {
$datum_monat = "12";
$datum_jahr--;
}
}

?>

<form action="<?PHP echo $PHP_SELF; ?>" name="komplettedienste" method="get">
<input type="hidden" name="sid" value="<?PHP echo $sid; ?>">

Jahr:
<select name="datum_jahr" class="dropdown" style="width:60px;">
<option value="2000" <?PHP if ($datum_jahr=="2000") { echo " SELECTED "; } ?>>2000</option>
<option value="2001" <?PHP if ($datum_jahr=="2001") { echo " SELECTED "; } ?>>2001</option>
<option value="2002" <?PHP if ($datum_jahr=="2002") { echo " SELECTED "; } ?>>2002</option>
</select>

&nbsp;&nbsp;&nbsp;
Monat:
<select name="datum_monat" class="dropdown" style="width:50px;">
<?PHP
$counter = 0;
while ( $counter < 12 )
{
$counter++;
$zahl = $counter;
if ( $counter < 10 ) { $zahl = "0".$counter; }
$check = "";
if ( $counter == $datum_monat ) { $check = " SELECTED "; }
echo "<option value=\"" . $zahl . "\"" . $check . ">" . $zahl . "</option>\n";
}
?>
</select>

.
.
.

</form>

 
Wotan
11-03-2003, 22:57 
 
Wie lässt sich der Monatsteil umschreibe, damit man statt 01 - 12 Die Monatsnamen hat?

 
goth
11-03-2003, 23:01 
 
// Entweder Du erstellst Dir ein Array ...
$monate=array(1=>"Januar", 2=>"Februar", ... );

// Auf das du dann verweist ...
echo $monate[$datum_monat];

oder Du schau'st Dir mal http://www.php.net/manual/de/function.setlocale.php an ... finde ich sauberer ...

 
Abraxax
11-03-2003, 23:02 
 
mit nem array am besten. das value ist jetzt aber dennoch eine zahl. ist ja schliesslich besser zum arbeiten im script.

<?PHP

$monate = array (1 => "Januar", "Februar", "März", "April", "...", "...", "...", "...", "...", "...", "...", "...");


$counter = 0;
while ( $counter < 12 )
{
$counter++;
$check = ($counter==$datum_monat) ? " SELECTED " : "";
echo "<option value=\"" . $counter . "\"" . $check . ">" . $monate[$counter] . "</option>\n";
}
?>

 
Wotan
11-03-2003, 23:14 
 
Hab das Jahr mal Dynamisch gemacht:

<?
$s_jahr = 2000; // Start-Jahr
while($s_jahr <= date("Y")) // Start-Jahr vergleich mit aktuellem Jahr
{
$check = "";
if($s_jahr == date("Y")) { $check = " SELECTED "; }
echo "<option value=\"".$s_jahr."\"".$check.">".$s_jahr."</option>\n";
$s_jahr++;
}
?>

 
mrhappiness
12-03-2003, 09:45 
 
und wenn ihr nicht$check = ($counter==$datum_monat) ? " SELECTED " : "";sondern$check = ($counter==$datum_monat) ? ' selected="selected" ' : "";schreibt, mögen das sogar neue browser, die evtl. xhtml haben wollen und das andere nich mehr anzeigen.

is zwar nich zwingend notwendig, aber es tut ja keinem weh

 
tedman72
17-03-2003, 18:32 
 
Hi Leuts,

Also die Ansätze sind ganz gut, ich habe nun folgendes Problem:

Ich lese Datensatz X aus ner SQL-Datenbank aus um Ihn zu Ändern, nehmen wir mal an eine kleine Adressdatenbank.

Ich füge die zu ändernden Daten logischerweise gleich per Value in in HTML-Formular ein. Nun meine Frage:

Ich habe auch Tabellen, sagen wir mal eine Tabelle Branchen, wo ich Werte a la = Tischler, Maler, etc. drin habe...

nachdem ich also den Datensatz eingelesen habe gibt es eben Felder die ich mal per Selectfeld eingegeben habe (z.b. Branche: Tischler), möchte aber das er auch die gespeicherte Branche auswählt (per selected).

code geht ungeführ so:
.
.
echo "Branche:<select name=\"branche\">";
while ($row = mysql_fetch_array($bra))
{
if ($row[branche]==????????)
{
echo "<option selected>$row[branche]</option>";
}
else
{
echo "<option value=\"$row[branche]\">$row[branche]</option>";
}
}

nur funzt des irgendwie net so... hat jemand nen tipp ? wenn ich an nem normalen datensatz was ändere und das ding "update" übernimmt er ja die falsche branche...

thx 4 help

 
Wotan
17-03-2003, 18:43 
 
echo "Branche:<select name=\"branche\">";
while ($row = mysql_fetch_array($bra))
{
if ($row[branche]== [der ausgelesen Datenstand, $row[branche]])
{
echo "<option value=\"$row[branche]\" selected>$row[branche]</option>";
}
else
{
echo "<option value=\"$row[branche]\">$row[branche]</option>";
}
}


Das nächste Mal benutzt du bitte die Forum-Tag für PHP!!!

 
tedman72
17-03-2003, 19:22 
 
danke für die schnelle hilfe... habe nicht gewußt das es hier nen code-formater gibt.

hab da noch eine letzte doofe frage:

mal angenommen ich lege einen solchen adressdatensatz neu an, habe also ein paar inputs, selects, etc. nun habe ich in tabelle a wieder sagen wir branchen, wenn ich die selektiere sollte er z.b. in tabelle b nachschauen ob es dafür evtl. schon eingetragen gibt, die wiederum in einem nächsten selectfeld anbieten, also dynamisch verschachtelt irgendwie, und das in einem formular, ohne das ich also die daten weiterleite und in einem nächsten formular ausarbeite.


vielen dank nochmal

 
timepoint5
17-03-2003, 19:28 
 
und das in einem formular, ohne das ich also die daten weiterleite und in einem nächsten formular ausarbeite.

Das geht nur clientseitig(javascript).

Gruss timepoint5

 
tedman72
17-03-2003, 19:36 
 
hm, wie muss ich mir das vorstellen ? bin java-technisch nicht auf der höhe :)

 
Abraxax
17-03-2003, 19:39 
 
http://selfhtml.teamone.de und dann auf javascript gehen ..... :teach:


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:14 Uhr.