Bonjour à tous.

Aujourd'hui, mon code marche très bien. Mais je souhaiterais l'optimisé.
Mon code est pas trop moche, la plupart du temps, sauf certaines parties que je souhaiterais réécrire, dont celle ci:

J'ai un formulaire, dans lequel je souhaite générer un tableau tout bête, avec un nombre de ligne variable (et j'ai un bouton pour rajouter des lignes)

Actuellement je procède comme ceci (donc le tableau est pas en zend :/)


j'explique, je fais une refonte d'un site, outil interne de mon entreprise, site qui avait été codé très très salement ( tout le code ressemblait à ça en gros ), j'ai décidé de le refaire en zend. Chose faite, sauf sur certaines parties, simplement parce que je ne vois pas comment faire sous zend.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<table><tr>
<th>blabla</th>
<th>blabla</th>
<th>blabla</th></tr>
<?php $nbligne = 5;
for ($i = 1; $i <= $nbligne; $i++) {?>
<tr>
<td>echo $i</td>
<td class="class_+$i">input</td>
<td class="class_+$i">input2</td>
</tr>
<?php } ?>
</table>
(voici le code plus complexe, vous comprenez maintenant pourquoi je souhaite l'optimiser)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
 
 <table name="table_ancre" id="compolie_table" style="<?php
            if (isset($_POST['compolie']) && $_POST['compolie'] == 2) {
                echo "display:block;";
            } elseif (isset($_SESSION['compolie_act']) && $_SESSION['compolie_act'] === true) {
                echo "display:block;";
                $_SESSION['compolie_act'] = "";
            } else {
 
                echo "display: none;";
            }
            ?>"
                   >
                <tr>
                    <th id="first_x" width="20px" align="center">&nbsp;X</th>
                    <th id="second_item" width="50px">Item</th>
                    <th id="code_article" width="140px">Code article/scan Etiquette</th>
                    <th id="qtt" class="qtt" width="140px">Qt</th>
                    <th id="desc" width="100px">Description</th>
                    <?php
                    if (isset($_POST['statutupdate']) && $_POST['statutupdate'] == "ok") {
 
                    } else {
                        ?>
                        <th id="nothing" width="10px">&nbsp;</th>
                <?php } ?>
                </tr> 
                <?php
                if (isset($_SESSION['nbligne2']) && $_SESSION['nbligne2'] != "") {
                    $nbligne = $_SESSION['nbligne2'];
                    $_SESSION['nbligne2'] = "";
                } elseif (isset($_POST['nbligne']) && $_POST['nbligne'] != 0 && $_POST['nbligne2'] == "") {
                    $nbligne = $_POST['nbligne'];
                } elseif (isset($_SESSION['compolie_table_article'])) {
                    $nbligne = count($_SESSION['compolie_table_article']);
                } else {
                    $nbligne = 5;
                } for ($i = 1; $i <= $nbligne; $i++) {
                    ?>
                    <tr>
                        <th width="20px" align="center">&nbsp;</th>
                        <th width="50px"><?php echo ($i); ?></th>
                        <th width="140px">
                            <input <?php
                    if (isset($_POST['statutupdate']) && $_POST['statutupdate'] == "ok") {
                        echo 'readonly = "readonly"';
                    }
                    ?> id="compolielieca_<?php echo $i; ?>" value="<?php
                        if (isset($_POST['compolieca_' . $i]) && ($_POST['compolieca_' . $i]) != '') {
                            echo $_POST['compolieca_' . $i];
                        } elseif (isset($_SESSION['compolie_table_article'][$i])) {
                            echo $_SESSION['compolie_table_article'][$i];
                            $_SESSION['compolie_table_article'][$i] = "";
                        }
                    ?>" class="input_compo_lie" type="text" tabindex="<?php echo (7 + ($i * 3)) ?>" autocomplete="off" value="" 
                                onblur="document.getElementById('compolielieca_<?php echo $i; ?>').value=(document.getElementById('compolielieca_<?php echo $i; ?>').value).toUpperCase();
                                            document.getElementById('compolieliedesc_<?php echo $i; ?>').value= iAjaxQuestionSimple(compolieChange()+document.getElementById('compolielieca_<?php echo $i; ?>').value);
                                            if (document.getElementById('compolieliedesc_<?php echo $i; ?>').value=='' && document.getElementById('qm_sap_num[<?php echo $i; ?>]').value !='')
                                            {
                                                alert('Cet article n\'existe pas');
                                                document.getElementById('compolielieca_<?php echo $i; ?>').value='';
                                                document.getElementById('compolielieca_<?php echo $i; ?>').focus();
                                            }"
                                name="compolieca_<?php echo $i; ?>">
                        </th>
                        <th width="140px"><input <?php
                        if (isset($_POST['statutupdate']) && $_POST['statutupdate'] == "ok") {
                            echo 'readonly = "readonly"';
                        }
                    ?>  id="compolielieqt_<?php echo $i; ?>" value="<?php
                        if (isset($_POST['compolieqt_' . $i]) && ($_POST['compolieqt_' . $i]) != '') {
                            echo $_POST['compolieqt_' . $i];
                        } elseif (isset($_SESSION['compolie_table_qtte'][$i])) {
                            echo $_SESSION['compolie_table_qtte'][$i];
                            $_SESSION['compolie_table_qtte'][$i] = '';
                        }
                        ?>" class="input_compo_lie" type="text" tabindex="<?php echo (8 + ($i * 3)) ?>" autocomplete="off" value="" name="compolieqt_<?php echo $i; ?>">
 
                        </th>
                        <th width="100px"><input id="compolieliedesc_<?php echo $i; ?>" value="<?php
                    if (isset($_POST['compoliedesc_' . $i]) && ($_POST['compoliedesc_' . $i]) != '') {
                        echo $_POST['compoliedesc_' . $i];
                    } elseif (isset($_SESSION['compolie_table_desc'][$i])) {
                        echo $_SESSION['compolie_table_desc'][$i];
                        $_SESSION['compolie_table_desc'][$i] = '';
                    }
                    ?>"  class="input_compo_lie" type="text"  readonly="readonly" autocomplete="off" value="" name="compoliedesc_<?php echo $i; ?>">
 
                        </th>
                        <?php
                        if (isset($_POST['statutupdate']) && $_POST['statutupdate'] == "ok") {
 
                        } else {
                            ?>
                            <th class="th_delligne" width="10px">
                                <a class="delligne" onclick="
 
 
                                                var LigneEnCours= 1;
                                                var LigneSuivante=0;
                                                var LigneMax = document.getElementById('nbligne').value;
                                                LigneEnCours = <?php echo $i; ?>;
 
                                                while(LigneEnCours<LigneMax) 
                                                {
 
                                                    LigneSuivante= LigneEnCours+1;
 
 
                                                    document.getElementById('compolielieca_'+LigneEnCours).value=document.getElementById('compolielieca_'+LigneSuivante).value; 
                                                    document.getElementById('compolielieqt_'+LigneEnCours).value= document.getElementById('compolielieqt_'+LigneSuivante).value;  
                                                    document.getElementById('compolieliedesc_'+LigneEnCours).value= document.getElementById('compolieliedesc_'+LigneSuivante).value; 
 
 
                                                    LigneEnCours++; 
                                                }
 
                                                document.getElementById('compolielieca_'+LigneMax).value=''; 
                                                document.getElementById('compolielieqt_'+LigneMax).value='';  
                                                document.getElementById('compolieliedesc_'+LigneMax).value='';    
 
 
                                   " tabindex="<?php echo (9 + ($i * 3)) ?>" value="<?php echo ($i) ?>" href="#table_ancre">
                                    <img border="0" title="Supprimer" alt="Supprimer" src="<?php echo SITE_URL; ?>images/delete.png">
                                </a>
                            </th>
                    <?php } ?>
                    </tr> 
                    <?php
                }
                ?>
                <?php
                if (isset($_POST['statutupdate']) && $_POST['statutupdate'] == "ok") {
 
                } else {
                    ?>
                    <tr>
                        <th colspan="6">
        <?php echo $this->element->ajoutligne->renderViewHelper(); ?>
                        </th>
                    </tr>
            <?php } ?>
 
 
            </table>