Supprimer un tr dans une table si td contient un texte précis
oxedgar
Messages postés5Date d'inscriptiondimanche 27 mai 2007StatutMembreDernière intervention30 avril 2017
-
Modifié le 28 avril 2017 à 18:02
Utilisateur anonyme -
30 avril 2017 à 04:43
Bonjour,
Voici mon problème après plusieurs tentatives infructueuses!
Je cherche à nettoyer le contenu d'une table. Le but est de travailler un code html de manière a ce que toutes les ligne de cette table soient supprimées si le champs Quantité vaut " 0"!
Je pense être près du but mais je ne parviens pas a mes fins!
Si la colonne quantité c'est la quatrième, pourquoi ne pas la sélectionner directement au lieu de vérifier chaque ligne une à une?
J'ai réussi à obtenir ce que tu veux comme ça:
// loop all <tr> element.
foreach ($xpath->query('//tr') as $tr) {
$tds = $tr->getElementsByTagName('td');
// get total <td> in this <tr>
$total_item = $tds->length;
// get table cell value.
$table_cell_value = $tds->item(3)->nodeValue;
//var_dump(trim($table_cell_value));
preg_match('/[0]/', trim($table_cell_value), $charge_id);
var_dump($charge_id, $table_cell_value);
// check if condition is met, the charge_id is 13.
if (!empty($charge_id) && $charge_id[0] == "0") {
// condition met. charge_id is 13. remove this table row.
echo "passeici";
$tr->parentNode->removeChild($tr);
}
unset($charge_id, $table_cell_value);
unset($tds, $total_item);
}