/    Sign up×
Community /Pin to ProfileBookmark

How To Add More Than One Entry On A Single Cell/Array Where Each Entry Is Separated B

Programming buddies,

I’m back online after nearly 2wks of offline. Gonna be harassing you guys again and more this time. Eeek!

Anyway, right now, I’m trying to build a script that adds multi entries into same single cell or mysql row.
The script tries monitoring what you are browsing via the:

<pre><input type=”text” name=”browse_url” size=”120″></pre>

and then record your viewed urls into the same row (position: 0), column: browsings like so:

1.com,2.com and so on.
So, at first, the mysql array or cell is blank. When you view a url (eg.) 1.com then the array would show like this:

1.com

And then afterwards, if you view facebook.com then the cell should get updated by first grabbing the previously viewed urls and then adding the latest url onto the same cell/array like so (each url separated by comma):

<pre>1.com,facebook.com</pre>

Throw your precious eyes on line 79 onwards on both sample scripts. I reckon the 1st script is no good but the 2nd should work. Gave you both scripts to show the variety of ways I attempted.

Sample 1:

[code=php]

<pre><?php
session_start();
require “conn.php”;
require “site_details.php”;

/*Check if user is logged-in or not by checking if session is set or not.
If user is not logged-in then redirect to login page. Else, show user’s account homepage.php.*/

if(!isset($_SESSION[“user”]))
{
header(“location:login.php”);
}
else
{
$user = $_SESSION[“user”];
?>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<title>Browse!</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″>
</head>
<body>
<p>
<p>
<p>
<?php
//Display ‘Browser’ ?>
<iframe src='<?php echo $db_latest_view;?>’></iframe>
<p>
<p>
<p>
<form method=”post” action=””>
<table border=”1″ width=”50%”>
<tr>
<td width=”10″>Url: </td>
<td><input type=”text” name=”browse_url” size=”120″></td>
</tr>
<tr>
<td width=”10″>Browse: </td>
<td>
<select name=”browsing_type”>
<OPTION>Anonymous Browsing</OPTION>
<OPTION>Group Browsing</OPTION>
</SELECT>
</td>
</tr>
<td></td>
<td><input type=”submit” name=”browse” size=”50″ value=”Browse”><input type=”submit” name=”search_keywords” size=”50″ value=”Search Keywords”></td>
<tr>
<td width=”10″>Message: </td><td><textarea name=”message” cols=”120″ rows=”10″></textarea></td>
</tr>
<tr>
<td></td>
<td width=”50″><input type=”submit” name=”submit_message” size=”50″ value=”Send Message!”></td>
</tr>
<p>
<p>
</table>
</form>

<?php
if(isset($_REQUEST[‘browse’]))
{
$browse_url = trim(strip_tags(strtolower(mysqli_real_escape_string($conn,$_POST[“browse_url”]))));
$browsing_type = trim(strip_tags(strtolower(mysqli_real_escape_string($conn,$_POST[“browsing_type”]))));

//Grab User details from database.
$sql = “SELECT * FROM users WHERE usernames = ‘”.$user.”‘”;
$result = mysqli_query($conn,$sql);
$numrows = mysqli_num_rows($result);
if($numrows)
{
while($row = mysqli_fetch_assoc($result))
{
$db_user_browsings = $row[“browsings”];
}

$sql = “INSERT INTO users(browsings) VALUES(‘”.$browse_url.”””.$db_user_browsings.”‘)”;
$result = mysqli_query($conn,$sql);
if($sql)
{
echo “true”;
}

$sql = “UPDATE users SET browsings_latest = ‘”.$browse_url.”‘ WHERE usernames = ‘”.$user.”‘”;
$result = mysqli_query($conn,$sql);
if($sql)
{
echo “true”;
}
}
}
}

?>
</pre>

[/code]

Sample 2

[code=php]

<pre><?php
session_start();
require “conn.php”;
require “site_details.php”;

/*Check if user is logged-in or not by checking if session is set or not.
If user is not logged-in then redirect to login page. Else, show user’s account homepage.php.*/

if(!isset($_SESSION[“user”]))
{
header(“location:login.php”);
}
else
{
$user = $_SESSION[“user”];
?>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<title>Browse!</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″>
</head>
<body>
<p>
<p>
<p>
<?php
//Display ‘Browser’ ?>
<iframe src='<?php echo $db_latest_view;?>’></iframe>
<p>
<p>
<p>
<form method=”post” action=””>
<table border=”1″ width=”50%”>
<tr>
<td width=”10″>Url: </td>
<td><input type=”text” name=”browse_url” size=”120″></td>
</tr>
<tr>
<td width=”10″>Browse: </td>
<td>
<select name=”browsing_type”>
<OPTION>Anonymous Browsing</OPTION>
<OPTION>Group Browsing</OPTION>
</SELECT>
</td>
</tr>
<td></td>
<td><input type=”submit” name=”browse” size=”50″ value=”Browse”><input type=”submit” name=”search_keywords” size=”50″ value=”Search Keywords”></td>
<tr>
<td width=”10″>Message: </td><td><textarea name=”message” cols=”120″ rows=”10″></textarea></td>
</tr>
<tr>
<td></td>
<td width=”50″><input type=”submit” name=”submit_message” size=”50″ value=”Send Message!”></td>
</tr>
<p>
<p>
</table>
</form>

<?php
if(isset($_REQUEST[‘browse’]))
{
$browse_url = trim(strip_tags(strtolower(mysqli_real_escape_string($conn,$_POST[“browse_url”]))));
$browsing_type = trim(strip_tags(strtolower(mysqli_real_escape_string($conn,$_POST[“browsing_type”]))));

//Grab User details from database.
$sql = “SELECT * FROM users WHERE usernames = ‘”.$user.”‘”;
$result = mysqli_query($conn,$sql);
$numrows = mysqli_num_rows($result);
if($numrows)
{
while($row = mysqli_fetch_assoc($result))
{
$db_user_browsings = $row[“browsings”];
}

$sql = “UPDATE users SET browsings = ‘”.$browse_url.”””.$db_user_browsings.”‘ WHERE usernames = ‘”.$user.”‘”;
$result = mysqli_query($conn,$sql);
if($sql)
{
echo “true”;
}

$sql = “UPDATE users SET browsings_latest = ‘”.$browse_url.”‘ WHERE usernames = ‘”.$user.”‘”;
$result = mysqli_query($conn,$sql);
if($sql)
{
echo “true”;
}
}
}
}

?>
</pre>

[/code]

to post a comment
PHP

8 Comments(s)

Copy linkTweet thisAlerts:
@ginerjmApr 09.2017 — If you are saying you want to save multiple urls into ONE field/column/cell of a sql table row, then that has to be changed.

You never ever EVER store multiple values inside a single cell regardless of how 'similar' they seem to you and how it makes sense to you. A properly 'normalized' dbms structure would tell you to create a table that is linked to the primary table and provides multiple rows containing these multiple values as multiple rows.

For ex.

primary table : id, name, address, city, state, zip code

You are saying that you should have a telephone field above that contained your work phone and home phone and cell phone all in one column called 'phone'. NO.

Instead you would create another table called "telephones" : id, tel_no, tel_type

which would contain the telephone number and the type of it (cell,home,work)

To gather the info a simple query would do it and produce multiple result rows each with a different phone

$q = select a.id, b.tel_no, b.tel_type from primary a, telephones b

where a.id=b.id

which would produce a result of:

id, (phone1), (type1)

id, (phone2), (type2)

id, (phone3), (type3)
Copy linkTweet thisAlerts:
@uniqueideamanauthorApr 09.2017 — If you are saying you want to save multiple urls into ONE field/column/cell of a sql table row, then that has to be changed.

You never ever EVER store multiple values inside a single cell regardless of how 'similar' they seem to you and how it makes sense to you. A properly 'normalized' dbms structure would tell you to create a table that is linked to the primary table and provides multiple rows containing these multiple values as multiple rows.

For ex.

primary table : id, name, address, city, state, zip code

You are saying that you should have a telephone field above that contained your work phone and home phone and cell phone all in one column called 'phone'. NO.

Instead you would create another table called "telephones" : id, tel_no, tel_type

which would contain the telephone number and the type of it (cell,home,work)

To gather the info a simple query would do it and produce multiple result rows each with a different phone

$q = select a.id, b.tel_no, b.tel_type from primary a, telephones b

where a.id=b.id

which would produce a result of:

id, (phone1), (type1)

id, (phone2), (type2)

id, (phone3), (type3)[/QUOTE]



You misunderstood me. I'm not trying to add different category data into single cell like cell fone and email etc. all in one cell.

More like there would be 2 cells for the same category where one cell lists all changes you made and one would list the current update. Let me explain ....

Thanks for the reply.

I first did add a comma and coded a variety of different ways and they all throwed error. The only 2 that didn't throw error is what I listed in this thread but as you can see the entries are not being separated by commas. I get no error with these 2 codes, though.

Yes, you have figured correctly what I want to do. But, I'll explain again and you can be kind enough to show a few example codes. ?

EXAMPLE

Imagine you viewed 1.com now on your first session. 1.com would be listed on the following columns:

latest_browsings

browsings (full history).

So now, the columns would look like this:

BROWSINGS | LATEST_BROWSINGS

1.com | 1.com


Now, if you move-onto 2nd.com then that would be UPDATED on the latest_browsings column but INSERTED in the browsings column.

So now, the columns would look like this:

BROWSINGS|LATEST_BROWSINGS |

1.com | 2.com

2.com|


Note the "Browsings" column show your full browsing history (like your browser shows you when you click CTRL+H. The "latest_browsings" shows you the most current page you viewed (like a Status Update thingy in social network accounts. So, "latest_browsings" only show data from position zero. No other rows get filled).

Now, how would you code to achieve that ? Where should I make the change ?

Thanks in advance! ?

PS - Another way of putting it, member accs sometimes show you your current home address/fone and on another section show your past address/fone changes (history of all address/fones you changed). I think they do it like I trying to do.
Copy linkTweet thisAlerts:
@ginerjmApr 10.2017 — I stand by what I wrote EXACTLY. You are storing multiple values in one column (browsings). Don't do it. Do what I said.
Copy linkTweet thisAlerts:
@uniqueideamanauthorApr 10.2017 — I stand by what I wrote EXACTLY. You are storing multiple values in one column (browsings). Don't do it. Do what I said.[/QUOTE]

My .exe bot shows data like this:

username timestamp url

droopsnot 2017/04/10 18:00:00 www.url.com

ui man 2017/04/10 18:10:00 www.microosft.com

droopsnot 2017/04/10 18:15:00 www.sitepoint.com

Actually, the columns were:

TimeStamp|Id|Username|Browsing_Histories|Contact_Details

(Ofcourse, if any public tries contacting any user (like you) then they'd have to go through filling-in a cpa survey before they see your contact details. Thus earn you $1-20 cpa earning.

Bear in mind, this is one tbl with many cols and not more than one tbl. "Browsings_History" tbl that shows all users browsing history on a single webpage. It is like a SERP with GO TO NEXT PAGE facility. Imagine a google serp.

But I NOW want my web version of the bot or member site/social network (sn) to show like this:

Username | Browsing_Histories |

droopsnot | "www.sitepoint.com, www.microosft.com, www.url.com"

ui man | "www.sitepoint.com, www.facebook.com, www.google.com"

Originally, I wanted the SN to show like this:

Username | Browsing_Histories | Latest_Viewings

droopsnot | "www.sitepoint.com, www.microosft.com, www.url.com" | www.url.com

ui man | "www.sitepoint.com, www.facebook.com, www.google.com" | www.google.com

That way, the left iframe shows you your friends' Latest_Viewings column, row 0.

And the right iframe shows you all your friends browsing histories (Browsing_Histories) column.

Anyway, let me experiment and decide how it should display the data to the user. Right now, I need to learn how to add more than one entry on the same cell/array separated by commas. The code I learn might become handy in future on other projects where it is necessary to have more than one entry on a single cell/array and it is right and recommended to do so like that.

A cell is called array, right ? We say array in php and cell in ms excell. Correct ?

I did once download a youtube tut that showed how to code to dump many entries into a single cell. I might aswell see if I can find it.
Copy linkTweet thisAlerts:
@ginerjmApr 10.2017 — You DON"T store the data that way. You store it like your first example (exe.bot) and when you query it for 'showing' it, you create the "look" that you want as you go thru the query results by concatenating the multiple rows for the same username.
Copy linkTweet thisAlerts:
@uniqueideamanauthorApr 10.2017 — You DON"T store the data that way. You store it like your first example (exe.bot) and when you query it for 'showing' it, you create the "look" that you want as you go thru the query results by concatenating the multiple rows for the same username.[/QUOTE]

I already have an .exe bot that has a TIMESTAMP column. Now trying to build the web version and I would add the TIMESTAMP on that too. But the reason for having 2 columns:

Browsings

Latest_View

Is because as soon as you login to your account, you will see 2 iframes. One on the left and one on the right.

The left one would show you the latest page you friend viewed. The right iframe would show all row data from the BROWSINGS (full history) column (like google SERP) so you can trace your friends website visits. So, as you can see, to make things easier to deal with the iframe and all, I need 2 columns so each iframe opens to their respective columns (so to speak).

I have a feeling you are now gonna tell me to just program the left iframe to open to the final row (BROWSINGS) and forget the Latest_View column. Am I right ?

A programmer told me (another subject) to use the following code to get the script to spit out the final row of the column:

SELECT * FROM users

ORDER BY id DESC

LIMIT 1

Do you have any suggestions yourself ? Remember, his code suggestion was not related to this thread and so might not be too good (ORDER by id) for this thread's subject.

I asked for a code sample how to get script to show only final record.

Why do I get the feeling your reply is still the same as the last one. I should store data the traditional way but when it comes to displaying the data then I should code to show all entries in a single cell or whatever I want to do.

Are you sure you have no further advice ?
Copy linkTweet thisAlerts:
@ginerjmApr 11.2017 — I think your use of 'cell' to describe your table storage and your screen display confuses me. If you have reverted to storing the data as I suggested, then we're good.
Copy linkTweet thisAlerts:
@uniqueideamanauthorApr 12.2017 — I think your use of 'cell' to describe your table storage and your screen display confuses me. If you have reverted to storing the data as I suggested, then we're good.[/QUOTE]

I'm gonna do things your way since it sounds logical and others suggest this also. ?
×

Success!

Help @uniqueideaman spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...