PHP Array para mostrar datos según el enlace - SEGUIMIENTO

I have previously asked a question to populate a page depending on which link the user clicked on this post, found here:

¿Cómo rellenar 1 página php de forma diferente según el enlace en el que se haga clic?

However I want to try and take it further now as I could make it so that other people are allowed to data therefore I want always be able to create the if statement for them.

So I was thinking something along the lines of populating an array which links to the company name field in the database (which I have already done it to display their name but have coded it manually instead of putting in an array which depends on user input).

Here is my kind of idea or train of thought:

'Declare Array/s

for (user click - use array item relating to the same name as the user clicked link -> [link]==COMPANYNAME-Which is in the database) {

    Display other info relating to that company'

Mi intento:

'while($row = mysql_fetch_array($result)) {

    $companyarray[] = $row["company"]; // Declare array to store list of company names inserted to database by each company

    $varcompany[] = $row["company"]; //runs through the company column and populates the array varcompany with those names
    $varwebsite[] = $row["website"]; //runs through the website column and populates the array varwebsite with those names
    $varstory[] = $row["story"]; //runs through the story column and populates the array varstory with the text
}

for ($_GET['link'] == '$companyarray[i]') { // Thanks to Johnny Craig, Crashspeeder and Kolink for the help on this part (I have this working but by manually inserting the company names and creating a seperate if statement for each company) I want to be able to automatically populate this list with each new company added

    echo "<div id='companyname'><a href='http://$varwebsite[0]' />" . $varcompany[0] . "</a></div>";// Displays companies name with link to their website
    echo "<div id='website'><a href='http://$varwebsite[0]' />" . $varwebsite[0] . "</a></div>";// Displays companies website with link
    echo "<img src='images/example.jpg' class='profilePic' />";// At the moment manually entering image link (hopefully will be automatic in future)
    echo "<div id='story'>" . $varstory[0] . "</div>";// Displays a text field from database'

Hope this explains my problem.

********EDITED*********

while($row = mysql_fetch_array($result)) {
    $varcompany[] = $row["company"]; //runs through the company column and populates the array varcompany with those names
    $varwebsite[] = $row["website"]; //runs through the website column and populates the array varwebsite with those names
    $varstory[] = $row["story"]; //runs through the story column and populates the array varstory with the text
}

if($_GET['link']=='miiniim'){
    //print company1 details on single.php page
    echo "<div id='website'><a href='http://$varwebsite[0]' />" . $varwebsite[0] . "</a></div>"; //MIINIIM 1st Company in database
    echo "<div id='companyname'><a href='http://$varwebsite[0]' />" . $varcompany[0] . "</a></div>"; //MIINIIM 1st Company in database
    echo "<img src='images/example.jpg' class='profilePic' />";
    echo "<div id='story'>" . $varstory[0] . "</div>"; //MIINIIM 1st Company in database
}elseif($_GET['link']=='other'){
//print company1 details on single.php page
    echo "<div id='companyname'><a href='http://$varwebsite[1]' />" . $varcompany[1] . "</a></div>"; //MIINIIM 1st Company in database
    echo "<div id='website'><a href='http://$varwebsite[1]' />" . $varwebsite[1] . "</a></div>"; //MIINIIM 1st Company in database
    echo "<img src='images/example.jpg' class='profilePic' />";
    echo "<div id='story'>" . $varstory[1] . "</div>"; //MIINIIM 1st Company in database

********EDITED AGAIN**********

$result = mysql_query("SELECT * FROM ddcompanies WHERE company = {$_GET['link']}");

while($row = mysql_fetch_array($result)) {
    $varcompany = $row["company"];
$varwebsite = $row["website"];
$varstory = $row["story"];
}
print_r($result);
print_r($varcompany);
print_r($varwebsite);
print_r($varstory);

echo "<div id='website'><a href='http://$varwebsite' />" . $varwebsite . "</a></div>";
echo "<div id='companyname'><a href='http://$varwebsite' />" . $varcompany . "</a></div>";
echo "<img src='images/example.jpg' class='profilePic' />";
echo "<div id='story'>" . $varstory . "</div>";

preguntado el 02 de febrero de 12 a las 11:02

1 Respuestas

(QUERY = SELECT * FROM [table] WHERE company = {$_GET['link']};)
while($row = mysql_fetch_array($result)) {
    $companyarray = $row;
}
echo "<div id='companyname'><a href='http://" . $companyarray['website']  . "' />" . $companyarray['company'] . "</a></div>";
echo "<div id='website'><a href='http://" . $companyarray['website']  . "' />" . $companyarray['website'] . "</a></div>";
echo "<img src='images/example.jpg' class='profilePic' />";
echo "<div id='story'>" . $companyarray['story'] . "</div>"

How I understood you correctly.

Respondido 09 Feb 12, 20:02

Thanks mate I think you are understanding it correctly but that doesn't seem to be working :( Although the logic seems correct. There are no errors just blank space where the data should be. So i guess it is running ok just not correctly? Not sure. Any idea? - Nils

The first thing I would do is add "print_r($companyarray)" after the While loop to make sure that the "$companyarray" is what you want. The $_GET link is the name of the company and it matches the database column "company" correct? - Alexander Corsillo

Yes thats right. The columns i have are company, website, id, story. And i want the link to pick up the company column and populate the rest from that company link. Going to try the print now. Thanks again - Nils

Print isn't showing anything so I guess it is not fetching the data properly? - Nils

I added what I have at the moment - which works but it requires me manually setting each if statement. I basically want it to be done through an array which - accepts the link from the previous page e.g. index.php?link=miiniim and finds that row from database and populates based on this. if a different link is click - index.php?link=other then other row is found and populated. I think you knew this I am just typing again to make sure. Thanks for all your help so far - Nils

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.