Comment - modifier le fichier php pour trouver des articles dans certaine plage de dates

  • cerio
  • Proficient
  • Proficient
  • Avatar de l’utilisateur
  • Inscription: Fév 07, 2004
  • Messages: 263
  • Loc: UK
  • Status: Offline

Message Avril 25th, 2011, 11:13 am

J'ai des fichiers php que rechercher des éléments dans ma base de données et les afficher sur une page Web. Je veux créer des liens qui permettent de trouver et d'afficher les éléments de toutes les catégories dans la base de données qui ont une date ne dépassant pas 7 jours à compter de la date du jour.
Le fichier php ci-dessous, se trouve actuellement et affiche les éléments d'une catégorie spécifique et les affiche sur une page web, il lit aussi les dates et ajoute une icône à n'importe quel élément affiché sur la page qui n'est pas plus d'une semaine, une autre icône si un maximum de deux semaines, une autre icône de là-haut 3 semaines et une autre icône pour ceux qui jusqu'à 4 semaines. Je veux avoir un lien sur ma page d'accueil qui va ouvrir une page qui affiche les éléments de toutes les catégories dans la base de données (pas seulement ceux d'une catégorie) qui ont été ajoutées dans la dernière semaine. Une fois Ive travaillé sur la façon de faire que je vais aussi faire des liens pour voir les articles qui ont été ajoutés dans les 2,3 et 4 semaines, mais commencer Ill avec ceux ajoutés dans les 7 derniers jours.

Je ne sais pas php, donc Im espérant que je peux le faire en jouant uniquement avec les fichiers php qui existent déjà, comme je l'ai aussi ne connais personne qui écrit php. Le code ci-dessous a été écrite pour moi par un ex-collègue que je ne sais plus, ne peut donc pas demander de l'aide.

J'espère que je peux modifier un fichier php en cours pour que celle ci-dessous, de le faire...

Code: [ Select ]
<?php
if (!defined('WEB_ROOT')) {
    exit;
}

$productsPerRow = 4;
$productsPerPage = 20;

//$productList  = getProductList($catId);
$children = array_merge(array($catId), getChildCategories(NULL, $catId));
$children = ' (' . implode(', ', $children) . ')';

$sql = "SELECT pd_id, pd_name, pd_price, pd_thumbnail, pd_qty, c.cat_id, pd_date, pd_code
        FROM tbl_product pd, tbl_category c
        WHERE pd.cat_id = c.cat_id AND pd.cat_id IN $children
        ORDER BY pd_name";

$result   = dbQuery(getPagingQuery($sql, $productsPerPage));
$pagingLink = getPagingLink($sql, $productsPerPage, "c=$catId");
$numProduct = dbNumRows($result);


// the product images are arranged in a table. to make sure
// each image gets equal space set the cell width here
$columnWidth = (int)(100 / $productsPerRow);
?>

<p align="center"><font face="arial" color="red" size="2">Icon = added in last<img src="images/new1.gif" border="0">week<img src="images/new2.gif" border="0">2 weeks<img src="images/new3.gif" border="0">3 weeks<img src="images/new4.gif" border="0">4 weeks</font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $pagingLink; ?></p>



<table width="100%" border="0" cellspacing="0" cellpadding="6">


<?php
if ($numProduct > 0 ) {

    $i = 0;
    while ($row = dbFetchAssoc($result)) {
    
        extract($row);
        if ($pd_thumbnail) {
            $pd_thumbnail = $pd_thumbnail;
        } else {
            $pd_thumbnail = WEB_ROOT . 'images/no-image-small.png';
        }
    
        if ($i % $productsPerRow == 0) {
            echo '<tr valign="top">';
        }

        
        // format how we display the price
        $pd_price = displayAmount($pd_price);
        
        echo "<td width=\"$columnWidth%\" align=\"center\"><a href=\"" . $_SERVER['PHP_SELF'] . "?c=$catId&p=$pd_id" . "\"><img src=\"$pd_thumbnail\" border=\"0\"><br>$pd_name</a><br># $pd_code<br />$pd_price";

        // if the product is no longer in stock, tell the customer
        if ($pd_qty <= 0) {
            echo "<br><strong><font color='#FF0000'>Sold</font></strong>";
        }

// is product new?
       
        //$today=date("Y-m-d");
        $compareDate1=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-28,date("Y")));
        // -28 = 4 weeks
        $compareDate2=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-21,date("Y")));
        // -21 = 3 weeks
        $compareDate3=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-14,date("Y")));
        // -14 = 2 weeks
        $compareDate4=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-7,date("Y")));
        // -7 = 1 weeks

        
        // is it newer than 4 weeks?
        
        if ($pd_date > $compareDate4)
          {
          echo "<br /><img src='images/new1.gif' alt='new' /><br />";
          }
        // is it newer than 3 week?
        elseif ( $pd_date > $compareDate3)
          {echo "<br /><img src='images/new2.gif' alt='new' /><br />";
          }
        // is it newer than 2 weeks?
        elseif ($pd_date > $compareDate2)
          {echo "<br /><img src='images/new3.gif' alt='new' /><br />";
          }
        // is it newer than 1 week?
        elseif ( $pd_date > $compareDate1)
          {echo "<br /><img src='images/new4.gif' alt='new' /><br />";
          }
        
        

        
        echo "</td>\r\n";
    
        if ($i % $productsPerRow == $productsPerRow - 1) {
            echo '</tr>';
        }
        
        $i += 1;
    }
    
    if ($i % $productsPerRow > 0) {
        echo '<td colspan="' . ($productsPerRow - ($i % $productsPerRow)) . '">&nbsp;</td>';
    }
    
} else {
?>
    <tr><td width="100%" align="center" valign="center">No products in this category at the moment</td></tr>
<?php    
}    
?>
</table>
<p align="center"> <?php echo $pagingLink; ?></p><br />
  1. <?php
  2. if (!defined('WEB_ROOT')) {
  3.     exit;
  4. }
  5. $productsPerRow = 4;
  6. $productsPerPage = 20;
  7. //$productList  = getProductList($catId);
  8. $children = array_merge(array($catId), getChildCategories(NULL, $catId));
  9. $children = ' (' . implode(', ', $children) . ')';
  10. $sql = "SELECT pd_id, pd_name, pd_price, pd_thumbnail, pd_qty, c.cat_id, pd_date, pd_code
  11.         FROM tbl_product pd, tbl_category c
  12.         WHERE pd.cat_id = c.cat_id AND pd.cat_id IN $children
  13.         ORDER BY pd_name";
  14. $result   = dbQuery(getPagingQuery($sql, $productsPerPage));
  15. $pagingLink = getPagingLink($sql, $productsPerPage, "c=$catId");
  16. $numProduct = dbNumRows($result);
  17. // the product images are arranged in a table. to make sure
  18. // each image gets equal space set the cell width here
  19. $columnWidth = (int)(100 / $productsPerRow);
  20. ?>
  21. <p align="center"><font face="arial" color="red" size="2">Icon = added in last<img src="images/new1.gif" border="0">week<img src="images/new2.gif" border="0">2 weeks<img src="images/new3.gif" border="0">3 weeks<img src="images/new4.gif" border="0">4 weeks</font></p>
  22. <p>&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $pagingLink; ?></p>
  23. <table width="100%" border="0" cellspacing="0" cellpadding="6">
  24. <?php
  25. if ($numProduct > 0 ) {
  26.     $i = 0;
  27.     while ($row = dbFetchAssoc($result)) {
  28.     
  29.         extract($row);
  30.         if ($pd_thumbnail) {
  31.             $pd_thumbnail = $pd_thumbnail;
  32.         } else {
  33.             $pd_thumbnail = WEB_ROOT . 'images/no-image-small.png';
  34.         }
  35.     
  36.         if ($i % $productsPerRow == 0) {
  37.             echo '<tr valign="top">';
  38.         }
  39.         
  40.         // format how we display the price
  41.         $pd_price = displayAmount($pd_price);
  42.         
  43.         echo "<td width=\"$columnWidth%\" align=\"center\"><a href=\"" . $_SERVER['PHP_SELF'] . "?c=$catId&p=$pd_id" . "\"><img src=\"$pd_thumbnail\" border=\"0\"><br>$pd_name</a><br># $pd_code<br />$pd_price";
  44.         // if the product is no longer in stock, tell the customer
  45.         if ($pd_qty <= 0) {
  46.             echo "<br><strong><font color='#FF0000'>Sold</font></strong>";
  47.         }
  48. // is product new?
  49.        
  50.         //$today=date("Y-m-d");
  51.         $compareDate1=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-28,date("Y")));
  52.         // -28 = 4 weeks
  53.         $compareDate2=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-21,date("Y")));
  54.         // -21 = 3 weeks
  55.         $compareDate3=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-14,date("Y")));
  56.         // -14 = 2 weeks
  57.         $compareDate4=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-7,date("Y")));
  58.         // -7 = 1 weeks
  59.         
  60.         // is it newer than 4 weeks?
  61.         
  62.         if ($pd_date > $compareDate4)
  63.           {
  64.           echo "<br /><img src='images/new1.gif' alt='new' /><br />";
  65.           }
  66.         // is it newer than 3 week?
  67.         elseif ( $pd_date > $compareDate3)
  68.           {echo "<br /><img src='images/new2.gif' alt='new' /><br />";
  69.           }
  70.         // is it newer than 2 weeks?
  71.         elseif ($pd_date > $compareDate2)
  72.           {echo "<br /><img src='images/new3.gif' alt='new' /><br />";
  73.           }
  74.         // is it newer than 1 week?
  75.         elseif ( $pd_date > $compareDate1)
  76.           {echo "<br /><img src='images/new4.gif' alt='new' /><br />";
  77.           }
  78.         
  79.         
  80.         
  81.         echo "</td>\r\n";
  82.     
  83.         if ($i % $productsPerRow == $productsPerRow - 1) {
  84.             echo '</tr>';
  85.         }
  86.         
  87.         $i += 1;
  88.     }
  89.     
  90.     if ($i % $productsPerRow > 0) {
  91.         echo '<td colspan="' . ($productsPerRow - ($i % $productsPerRow)) . '">&nbsp;</td>';
  92.     }
  93.     
  94. } else {
  95. ?>
  96.     <tr><td width="100%" align="center" valign="center">No products in this category at the moment</td></tr>
  97. <?php    
  98. }    
  99. ?>
  100. </table>
  101. <p align="center"> <?php echo $pagingLink; ?></p><br />


Il serait d'obtenir la date du tableau: tbl_product et sur cette table, il est le domaine pd_date

Quelqu'un peut-il me dire comment modifier le code ci-dessus pour le faire trouver des articles qui ont une date ne dépassant pas 7 jours à compter de la date du jour, s'il vous plaît

Une fois que je reçois triés, Ill besoin de savoir comment ajouter un lien vers ma page d'accueil qui reçoit ce fichier php pour afficher la page montrant les derniers articles, mais mal y revenir, d'abord j'ai besoin de créer la page php. Id probablement faire la ligne de la "Nouvelle" icônes en haut des pages dans les liens qui afficher les éléments nouveaux, appelés par le fichier php, alors que ces icônes sont actuellement juste là comme des icônes populaires montrent que ce qui est nouveau, les icônes eux-mêmes ne sont pas liés à rien. Cependant, comme je le disais, les choses poing premier, j'ai besoin du fichier php modifiée pour trouver les nouveaux éléments avant de se soucier du reste.

Si vous avez besoin pour voir le code ci-dessus et en cours d'exécution, le site est http://www.wafuku.co.uk et vous suffit de choisir une catégorie, comme cette page, http://wafuku.co.uk/index.php?c=38 pour voir ce que le code produit sur le site actuellement. (J'ai un shopping / récupération de la toxicomanie qui m'a conduit, au fil des ans, de posséder des centaines et des centaines de vintage kimonos japonais et d'autres choses japonaises jusqu'à ce que je ne pouvais pas bouger pour eux, donc je suis maintenant d'essayer de vendre beaucoup d'entre eux hors et récupérer l'argent que j'ai gaspillé sur eux, d'où l'existence de ce site)

Merci.

Cerio
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Avril 25th, 2011, 11:13 am

Afficher de l'information

  • Total des messages de ce sujet: 1 message
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 174 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC