Jump to content

A little story of my situation and a multi-array help.


mustiej

Recommended Posts

Hello freaks,

 

I'm new here and so this is my first post.

Let me introduce myself, my name is Mustafa and I live in the Netherlands.

 

I have a little bit of a situation going on..

 

I'm studying mediadevelopment, so basically webdesign/programming/photoshop/video editting bla bla bla..

But we have literally zero teachers that give us lessons about PHP... before I can take serious actions and take this to a court or file a complaint about the school, monday will be long gone and so my exam week which is crucial for my study.

The reason that we came this far with PHP is literally because of three little lessons from a trainee from a higher education school and since he left us because of unknown reasons, every student is fked.

 

 

 

Our job for the exam week is to make a multi-array about 8 products. Each product must have an EAN(international product code thingy) product code. By typing this unique code at the end of your website, example: locallhost/EAN.php/?ean=1001, the 1001 named product needs to show it's details without having a seperate details.php document.

So to make it simple:

I click on one of the 8 products or type in the product code, the website shows us the product and it's details of that product only without showing the other 7.

 

 

This is what I have so far:

EAN.php(my multi-array)

EAN.inc.php(my functions)

index.php(my outputs)

 

I can't have more then 3 files.

What I need right now is how can I make the page change to the product page and show it's details?

I added the files so maybe it clears things up.

Sorry for my bad English and feel free to criticize my codes.

 

Thank you so much in advance!!!

EA.inc.php

EA.php

index.php

Link to comment
Share on other sites

  1.  
  2.  
  3. <html>
  4. <head>
  5. <title>test</title>
  6. <link rel="stylesheet" type="text/css" href="styles.css">
  7. </head>
  8. <body>
  9.  
  10. <?php
  11.         include 'EA.inc.php';
  12.        
  13.         $array = $ean; //dubblecast ean;
  14. unset ($ean);  
  15. $ean = (int) $_GET['ean'];
  16. if (isset($ean) && $ean !== 0) {
  17.     if (isset ($array[$ean]){
  18.         echo json_encode($array[$ean];
  19.        
  20.      
  21.     doorLopen($ean); } }
  22.         //if(isset ($_GET['EAN']))
  23. //      {
  24. //              $eannummer = $_GET['EAN'];
  25. //              eannummer($eannummer, $ean);
  26. //      }
  27. //else {
  28.        
  29. //doorLopen($ean);
  30. //      }
  31.         ?>
  32. </body>
  33. </html>
 
 
  1. <?php
  2.        
  3. $ean = array(
  4.         "978904560816" =>array(
  5.                         "EAN" => "<a href=11.php?ean=>"  . "9789045630816" ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=9789045630816.jpg></img> " ." </a>",
  6.                         "naam" => "Studio Webdesign",
  7.                         "omschrijving" => "Professionele websites ontwerp je voortaan gewoon zelf! Dankzij de unieke interface in dtp-stijl creeer je met Studio Webdesign in alle eenvoud de meest aantrekkelijke sites, zonder je hiervoor te moeten verdiepen in ingewikkelde programmeertalen. Uitgeroepen tot beste koop door PCM (Personal Computer Magazine), juni 2004.",
  8.                         "prijs" => "39,95",
  9.                         "bestelnummer" => "#001",
  10.                          "systeemvereisten" => array(
  11.                                                                                 "processor" => "Pentium ¨ III",
  12.                                                                                 "geheugen" => "256 KB",
  13.                                         "besturingssysteem" => "Windows 95",
  14.                                         "schijfruimte" => "5 MB",
  15.                                         "schermresolutie" => "1024 x 768",
  16.                                         "overige" => "USB aansluiting"),                                
  17.             "highlights" => "highlight1",
  18.                         ),
  19.                        
  20.         "9789045632063" =>array(
  21.                         "EAN" => "<a href=11.php?ean=>"  . "9789045632063"  ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=9789045632063.jpg></img> " ." </a>",
  22.                         "naam" => "Planten Enceclopedie 2004",
  23.                         "omschrijving" => "In deze nieuwe versie vindt u informatie over meer dan 5000 planten, bomen, bloemen en struiken met meer dan 3500 foto's. Als extra krijgt u er meer dan 400 kamerplanten bij, inclusief de verzorgingstips!",
  24.                         "prijs" => "24,95",
  25.                         "bestelnummer" => "#002"),
  26.                                
  27.         "9789045632902" =>array(
  28.                         "EAN" => "<a href=11.php?ean=>"  . "9789045632902"  ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=9789045632902.jpg></img> " ." </a>",
  29.                         "naam" => "PC Drukkerij 3 Suite",
  30.                         "omschrijving" => "Een krachtig programma met maar liefst 200.000 foto's en cliparts voor een onbeperkt aantal mogelijkheden! Op dezelfde engine gebaseerd als de andere PC Drukkerij-pakketten, maar met zo mogelijk nog meer afbeeldingen, sjablonen en thema's, is dit ongetwijfeld het meest complete programma uit de reeks! Meer dan 15.000 kant-en-klare voorbeelden: wenskaarten, visitekaartjes, uitnodigingen, verjaardagskaarten, cd-labels, menu's, ontwerpen om op textiel te drukken...",
  31.                         "prijs" => "29,95",
  32.                         "bestelnummer" => "#003"),
  33.                                
  34.         "9789045634814" =>array(
  35.                         "EAN" => "<a href=11.php?ean=>"  . "9789045634814"  ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=9789045634814.jpg></img> " ." </a>",
  36.                         "naam" => "Creatief Fotolab",
  37.                         "omschrijving" => "De beste creatieve gereedschappen in dienst van je foto's! Eindelijk een alles-in-een oplossing om je foto's op een creatieve manier te beheren, te optimaliseren en te delen. Van het klassement naar de afdruk via het retoucheren, een diavoorstelling of zelfs de creatie van originele documenten, niets ontbreekt!",
  38.                         "prijs" => "29,95",
  39.                         "bestelnummer" => "#004"),
  40.                                
  41.         "9789045634838" =>array(
  42.                         "EAN" => "<a href=11.php?ean=>"  . "9789045634838"  ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=9789045634838.jpg></img> " ." </a>",
  43.                         "naam" => "MovieJack DVD Pro",
  44.                         "omschrijving" => "Maak snel en eenvoudig back-ups van uw originele dvd-video's op traditionele cd-r's of dvd's. Het programma comprimeert de enorme hoeveelheid gegevens op de oorspronkelijke dvd automatisch tot een video-cd (VCD), super video-cd (SVCD) of DivX-cd indien u dat wenst.",
  45.                         "prijs" => "49,95",
  46.                         "bestelnummer" => "#005"),
  47.                          
  48.         "9789045649429" =>array(
  49.                         "EAN" => "<a href=11.php?ean=>"  . "9789045649429"  ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=9789045649429.jpg></img> " ." </a>",
  50.                         "naam" => "Easy Computing PC Drukkerij Visitekaartjes 7.5",
  51.                         "omschrijving" => "PC Drukkerij Visitekaartjes 7.5 is een complete pakket, inclusief talrijke tekengereedschappen en een volledig vernieuwde interface. Visitekaartjes 7.5 biedt alle hulpmiddelen die je nodig hebt om jouw eigen visitekaartjes te ontwerpen en af te drukken. Met deze totaaloplossing, duizenden sjablonen, afbeeldingen en een krachtige afdrukmodule met inktbesparende functie, ontwerpt je voortaan moeiteloos originele visitekaartjes.",
  52.                         "prijs" => "19,99",
  53.                         "bestelnummer" => "#006"),
  54.                          
  55.         "B00F4OQVE6" =>array(
  56.                         "ASIN" => "<a href=11.php?ean=>"  . "B004FOQVE6"  ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=B004FOQVE6.jpg></img> " ." </a>",
  57.                         "naam" => "CraftArist Wedding Day",
  58.                         "omschrijving" => "The perfect tool for creating personal, unique wedding stationery that suits you and your style. Choose your favourite style and personalise it with as much text, embellishments and photographs as you like. Designs can be personalised with unlimited pictures and text, plus there are craft tools and a built-in photo editor to help deliver high quality results that are guaranteed to impress friends and family. CraftArtist Wedding Day is incredibly easy to use, thanks to its simple drag-and-drop function.",
  59.                         "prijs" => "19,99",
  60.                         "bestelnummer" => "#007"),
  61.                          
  62.         "9789045647579" =>array(
  63.                         "EAN" => "<a href=11.php?ean=>"  . "9789045647579"  ." </a>"."<a href=11.php?ean=>"  . "<br><img  width=100 height=100 src=9789045647579.jpg></img> " ." </a>",
  64.                         "naam" => "Super Architect 3D Platinum NexGen",
  65.                         "omschrijving" => "Nieuwbouw en renovatie; Huis en tuin; Decoratie en presentatie; Snel resultaat; Automatisch en intuïtief; Veelzijdige tools; AutoCAD (t/m 2012) en Google SketchUp  (t/m v7!) compatibel; Handige tips; Videotraining. Nog eenvoudiger dan tevoren genereert u een volledig woningplan dat automatisch wordt aangepast wanneer u de grootte of indeling van de kamers wijzigt - inclusief het dak! Tot 26 keer sneller dan de concurrentie levert Super Architect 3D een ongekende fotorealistische weergave. Met deze Platinum-editie kunt u o.a. maquettes maken, AutoCAD-bestanden importeren en exporteren, zwembaden ontwerpen en veel meer!",
  66.                         "prijs" => "42,50",
  67.                         "bestelnummer" => "#008"));  
  68.                            
  69. ?>
 
 
  1. <html>
  2. <head>
  3. <style type="text/css">
  4. td{
  5.         width: 33%;
  6.         text-align: left;
  7. }
  8.  
  9. td.left{
  10.         text-align: right;
  11.         background-color: #E0E0D1;
  12. }
  13.  
  14.  
  15. </style>
  16. </head>
  17.  
  18.  
  19.  
  20. <?php
  21. include 'EA.php';
  22. function doorLopen($ean)
  23. {
  24.         $output = "<div class=wrapper><h1>Catalogus</h1>";
  25.        
  26.         foreach($ean as $product => $details)
  27.         {
  28.                 $output .= "<table width=500>";
  29.                 foreach($details as $title => $merk)
  30.                 {
  31.                         $output .= "<tr><td>". "$title : </td><td class=left>" .$merk."</td></tr>";
  32.                 }
  33.                 $output .= "</table>";
  34.         }
  35.        
  36.         $output .= "</table></div>";
  37.        
  38.         echo $output;
  39. }
  40.  
  41. function eannummer($eannummer, $ean)
  42. {
  43.         $output = "<div class=wrapper>";
  44.         foreach($ean as $key => $val)
  45.         {
  46.                 $output .= "<table width=500>";
  47.                 if($val['EAN'] == $eannummer)
  48.                 {
  49.                         foreach($val as $title => $merk)
  50.                         {
  51.                                 $output .= "<tr><td>". "$title : </td><td class=left>" .$merk."</td></tr>";
  52.                         }
  53.                 }
  54.                 $output .= "</table>";
  55.                                
  56.                                
  57.         }
  58.                         $output .= "</div>";
  59.                         echo $output;
  60.                        
  61. }
  62.        
  63.  
  64.         function goed()
  65.         {
  66.         echo "test";
  67.         }
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.         /*function doorLopen($ean){
  75.                 foreach($ean as $key => $uitkomst)
  76.                 {
  77.                         $output = "";
  78.                 foreach($uitkomst as $merk => $prijs)
  79.                 {      
  80.                         echo $ouput = "<table width=400>";
  81.                         echo "<tr><td>" . $merk . "</td>" . "<td class=left>" . $prijs . "</td></tr></table>";
  82.                         }
  83.                 }
  84.                 }*/
  85.                
  86.                
  87.                
  88.                
  89. ?>
  90.  
  91. </html>

 

Link to comment
Share on other sites

In index.php delete lines 13 to 21. I do not understand what you're trying to do there.

 

The correct code you need  is for some reason commented out (lines 22 to 30). So this is what index.php should look like after edits

<html>
<head>
<title>test</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
 
<?php
include 'EA.inc.php';
       
if(isset ($_GET['ean']))
{
    $eannummer = $_GET['ean'];
    eannummer($eannummer, $ean);
}
else {    
    doorLopen($ean);
}
?>
</body>
</html>

The problem lies in the eannummer() function located in EA.inc.php. On line 47 you have this line

if($val['EAN'] == $eannummer)

$val['EAN'] should be $key. But there is a more efficient way to code that function which is like this

function eannummer($eannummer, $ean)
{
    $output = "<div class=wrapper>";

    if(isset($ean[ $eannummer ]))
    {
        $output .= "<table width=500>";
        foreach($ean[ $eannummer ] as $title => $merk)
        {
            $output .= "<tr><td>". "$title : </td><td class=left>" .$merk."</td></tr>";
        }
        $output .= "</table>";

    }
    else
    {
        $output .= 'Product #'.$eannummer. ' does not exist';
    }

    $output .= "</div>";
    echo $output;         
}
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.