Solved

PHP if not in db echo

Posted on 2010-11-11
5
322 Views
Last Modified: 2012-06-27
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
Comment
Question by:movieprodw
  • 2
  • 2
5 Comments
 
LVL 3

Expert Comment

by:njovin
ID: 34113751
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
 
LVL 7

Expert Comment

by:karunamoorthy
ID: 34113767
could you pl post the table structure of articles table for further help.
0
 
LVL 1

Author Comment

by:movieprodw
ID: 34114227
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
 
LVL 3

Accepted Solution

by:
njovin earned 500 total points
ID: 34114282
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
 
LVL 1

Author Closing Comment

by:movieprodw
ID: 34114301
Awesome!

Thank you so much
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
'Between' is such a common word we rarely think about it but in SQL it has a very specific definition we should be aware of. While most database vendors will have their own unique phrases to describe it (see references at end) the concept in common …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question