• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 332
  • Last Modified:

PHP if not in db echo

Hello,

I am making a website for a magazine company and they have featured articles they publish every month.

They have been around for 5 years so there are a lot of articles that need to be inserted into the db.

What I would like to do is make it so that it will count from the first month ie '03/2005' to the current month ie 'MM/YYYY', create an array ie 03/2005, 04/2005, 05/2005 and check if those are in the db, if not then echo a list of the ones not in the db

It sounds really complex to me but I am assuming this is cake for some of you guys!

I would appreciate any help.

Here is the code I am using to currently echo the data.

<?php

$result = mysql_query("SELECT * FROM articles ORDER BY SUBSTRING(date,4) DESC, SUBSTRING(date, 1, 2) DESC")
or die(mysql_error());  

echo "<table border='0' width='100%'>";
echo "<tr> <td><strong>Date</strong></td> <td><strong>Title</strong></td> </tr>";
while($row = mysql_fetch_array( $result )) {
      // Print out the contents of each row into a table
      echo "<tr><td width='60px'>";
      echo $row['date'];
      echo "</td><td>";
      echo $row['title'];
      echo "</td></tr>";
}

echo "</table>";
?>



0
movieprodw
Asked:
movieprodw
  • 2
  • 2
1 Solution
 
njovinCommented:
i = year
j = month
$i = 2005;
$j = 3;
while ($i <= 2010) {
 while ($j <= 12) {
 $x = 0;
$result = mysql_query("SELECT * FROM articles WHERE SUBSTRING(date,4) = '" . $i . "' and SUBSTRING(date, 1, 2) = '". $j ."'") 
or die(mysql_error());  
while($row = mysql_fetch_array( $result )) {
 echo "article title or whatever";
$x++;
}
if ($x == 0) {
 "No article for " . $j . "/" . $i;
}
 $j++;
 }
 $j = 1;
 $i++;
}

Open in new window

0
 
karunamoorthyCommented:
could you pl post the table structure of articles table for further help.
0
 
movieprodwAuthor Commented:
hello njovin

It did not error but also did not output anything but
'article title or whateverarticle title or whatever '

karunamoorthy
the table structure is

[id]   [date]         [title]
1      mm/yyyy    'car article'
0
 
njovinCommented:
Right, it was meant for you to customize a bit. Try this:
$i = 2005;
$j = 3;
while ($i <= 2010) {
 while ($j <= 12) {
 $x = 0;
echo $j . "/" . $i . ": ";
$result = mysql_query("SELECT * FROM articles WHERE SUBSTRING(date,4) = '" . $i . "' and SUBSTRING(date, 1, 2) = '". $j ."'") 
or die(mysql_error());  
while($row = mysql_fetch_array( $result )) {
 echo $row['title'] . "<br />";
$x++;
}
if ($x == 0) {
 echo "No article <br />";
}
 $j++;
 }
 $j = 1;
 $i++;
}

Open in new window

0
 
movieprodwAuthor Commented:
Awesome!

Thank you so much
0

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now