Salü an alle,
ich komm nicht rauf warum es im Firefox Plugin Tidy immer diese Fehlermeldung bzw Warnung gibt.
line 201 column 1499 - Warnung: missing <tr>
............
$anzeige = '2';
echo '<table border="0" cellpadding="0" cellspacing="0" style=" vertical-align:top" width="100%"><tr>';
$result1 = sql_query("SELECT project_id,project_name FROM " . $prefix . "_project_project_view where is_activ='1' AND user_priv!='2' ");
$z=0;
while (list($project_id,$project_name) = sql_fetch_row($result1))
{
echo'<td width="33%" valign="top">';
echo '<table width="100%" border="0">'
.'<tr>'
.'<td width="30"> </td>'
.'<td><input type="checkbox" name="C1" value="ON"> ' . $project_name . '</td>'
.'</tr>'
.'</table>';
echo'</td>';
if($z == $anzeige)
{
echo '</tr>';
$z=0;
}
else{
$z++;
}
}
echo'</table>'
............
könnte mir dabei jemand helfen bitte ?
Merci
if($z == $anzeige)
{
echo '</tr>';
$z=0;
}
else{
$z++;
}
Warum bekommt das Skript, wenn die if-Bedingunge erfüllt wird einen "</tr>", und andernfalls nicht?
Hi :)
So wie ich das verstanden habe, willst du die Inputfelder nebeneinander mit einer Limitierung positionieren, richtig ?
Warum nicht einfach die float-Eigenschaft benutzen, die automatisch den Platz nutzt und ggf. in eine neue Ziele positioniert ?
<?php
settype( $projects, 'array' );
$result1 = sql_query( "SELECT project_id,project_name FROM " . $prefix . "_project_project_view where is_activ='1' AND user_priv!='2' " );
while( list( $id,$name ) = sql_fetch_row( $result1 ) ) {
$projects[$id] = $name;
}
?>
<?php
$anzeige = 2;
$z = 0;
?>
<?php if( count( $projects ) > 0 ) :?>
<table style="border:0; padding:0; width:100%">
<tr>
<td>
<?php foreach( $projects as $id => $project ) :?>
<div style="float:left; width:33%">
<input type="checkbox" name="prj_<?php echo $id ?>" value="ON" /> <?php echo $project ?>
</div>
<?php if( $anzeige === ++$z ) : ?>
<br style="clear:left;" />
<?php $z = 0; endif ;?>
<?php endforeach ;?>
</td>
</tr>
</table>
<?php endif ;?>
<?php if( count( $projects ) > 0 ) :?>
<table style="border:0; padding:0; width:100%">
<tr>
<td>
<?php foreach( $projects as $id => $project ) :?>
<div style="float:left; width:33%">
<input type="checkbox" name="prj_<?php echo $id ?>" value="ON" /> <?php echo $project ?>
</div>
<?php endforeach ;?>
</td>
</tr>
</table>
<?php endif ;?>
Zitatkönnte mir dabei jemand helfen bitte ?
Merci
... de nada :cool:
Also reddragon:
wenn ich das so mache
.............
if($z == $anzeige)
{
echo '</tr>';
#echo'<tr>';
$z=0;
}
else{
$z++;
echo '</tr>';
}
...........
dann kommen noch viel mehr Fehler und außerdem wird dann immer nur eins an gezeigt und dann schon umgebrochen (siehe Screenshot ) und es soll so wie auf dem zweiten Screenshot sein nur halt ohne Fehler bzw Warnungen in dem Plugin.
Das ganze funktioniert zwar aber halt dann mit Fehlermeldungen.
siggi: Merci ich werd das gleich mal testen
siggi: ja geht super nur hab ich jetzt ein Problem,
da ich ja in der Function danach folgendes mache
foreach($_POST['is_promo'] as $project){
sql_query("update " . $prefix . "_project_project_view set project_promo='1' where project_id='$project' ");
}
Nur wie komme ich jetzt an die ProjektID mit Deinem Script ran?
Denn es kommt ja folgendes an
[promo_count] => 3
[prj_2] => ON
[prj_6] => ON
Das wäre das was mit post übergeben wird. Un dnun steh ich erstmal total auf dem Schlauch.
Bitte Siggi erklär mir mal etwas dazu :red:
Hab es jetzt erstmal so gelöst:
$anzeige = 3;
$z = 0;
echo '<table style="border:0; padding:0; width:100%">';
echo '<tr><td>';
$result1 = sql_query("SELECT project_id,project_name,project_promo FROM " . $prefix . "_project_project_view where is_activ='1' AND user_priv!='2' ");
while (list($project_id,$project_name,$project_promo) = sql_fetch_row($result1)){
if($project_promo == "1"){
$checked ='checked';
}
else{
$checked ='';
}
echo '<div style="float:left; width:33%">';
echo '<input type="checkbox" name="is_promo[]" ' . $checked . ' value="' . $project_id . '">' . $project_name . '</div>';
if($z == $anzeige){
echo '<br style="clear:left;" />';
$z=0;
}
}
echo ' </td>
</tr>
</table>';
Ist bestimmt nicht die sauberste :red:
Aber es geht ohne Fehler und ich komm so auch an die Daten ran :pardon:
Siggi: was bedeutet das :
<?php if( $anzeige === ++$z ) : ?>
<br style="clear:left;" />
da sind so viele = und + drin ??? Ist das die verkürtzte Schreibweise ?
Kannst Du mir dazu mal ne Info bitte geben
hmm... das hatte ich auch mal in Java.... :gruebel:
Aber hier:
http://www.strassenprogrammierer.de/php-drei-gleichheitszeichen-f%FCr-mehr-sicherheit_tipp_397.html
und die + in doppelter Ausführung erhöhen um den Wert 1
Zitatda sind so viele = und + drin ??? Ist das die verkürtzte Schreibweise ?
Kannst Du mir dazu mal ne Info bitte geben
<?php if( $anzeige === ++$z ) : ?> Abfrage, ob Zählvariable $z der $anzeige entspricht und anschliessendes Erhöhen von $z um 1
<br style="clear:left;" /> Zeilenumbruch und das "flotieren" beenden
<?php $z = 0; endif ;?> $z wieder auf 0 setzen bzw. Ende der IF Bedingung
Danke nochmal für die Hilfe
Es geht aber auch so:
$spalten = '3';
$i = 0;
$result = sql_query("SELECT id,pic_name,pic_url,pic_status FROM " . $prefix . "_karusell");
while(list($id,$pic_name,$pic_url,$pic_status) = sql_fetch_row($result)) {
$i++;
if($i % $spalten == 1)
print '<tr>';
print '<td>';
// Inhalt der Zelle
print '</td>';
if($i % $spalten == 0)
print '</tr>';
}
// unter Umständen müssen noch leere Zellen angehängt werden
if($i % $spalten != 0) {
for($x = floor($i / $spalten); $x < ($i % $spalten); $i++) {
print '<td> </td>';
}
// und die Zeile schließen
print '</tr>';
}
Der Code ist nicht von mir aber er geht sauber :cul: