close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

MySQLi Insert/Update multiple entries?

Thread began 10/02/2017 4:59 pm by Nathon Jones Web Design | Last modified 10/03/2017 9:45 am by Ray Borduin | 1342 views | 3 replies |

Nathon Jones Web Design

MySQLi Insert/Update multiple entries?

I have an image upload facility which allows users to upload a banner image and some text. Users have to be logged in to an admin CMS to do this.

My banner image database table has a userID and domainID field so that the banner is associated with the user who uploaded it and also the domain on which it should be displayed.

However, the domain might have multiple admin users. I have created a link table which contains userIDs linking them to domains they're authorised to edit however I can't check the banner image table against this because I only have one userID field in that table.

So, I've considered creating a banner/user link table so that a banner image can be associated with multiple users but I'm not sure how I set, on Insert, multiple entries into the banner/user link table.

I don't want the user to have to select everyone else, within their company, to be authorised to edit the banner.

Can I do this in a hidden way? By cross-checking the domainID in the user/domain link table and inserting multiple entries into the user/banner table upon clicking of a submit button, for example?

How are multiple entries achieved in MySQLi when it's based on a recordset set of results?

Man, I'm so bad at explaining what's in my head! (sorry)
Hope you can help me make sense of this.

Thank you.
NJ

Sign in to reply to this post

Ray BorduinWebAssist

You should be able to create a recordset with the correct SQL statement to join the banner table to the link table and show all users authorized for that domain. If the information is in the the database so that you could figure it out manually, then there is a SQL statement that would figure it out as well.

I don't think you need any more tables or inserts... just the correct SQL statement to verify admin access.

Sign in to reply to this post
Did this help? Tips are appreciated...

Nathon Jones Web Design

Originally Said By: Ray Borduin
  You should be able to create a recordset with the correct SQL statement to join the banner table to the link table and show all users authorized for that domain. If the information is in the the database so that you could figure it out manually, then there is a SQL statement that would figure it out as well.

I don't think you need any more tables or inserts... just the correct SQL statement to verify admin access.  


Thank you Ray. I do have an (unenviable) issue with over-thinking things, as I'm sure you're used to by now!

So on the Insert/Update page I create a recordset that pulls all of the authorised users out of the domain/user link table....how do I then compare the userID in session (created by MySQli Login User) with the results of that recordset? I understand how to do this when there's only one row in the recordset...

<?php if ($rsAUTHUSERS->getColumnVal("userID") == $_SESSION['userID']) { ?>
<display the Insert/Update form>
<?php } ?>



...what if there are multiple results?

You mention that this can be achieved in a SQL statement so maybe there's not even a need to have this if code on the page, rather it would just display a "you are not authorised" message if recordset is empty?

Appreciate the help, thank you.
NJ

EDIT: Thinking this through...I don't need to join the banner table at all, do I? I just need to check that the session userID created by MySQLi Login User is listed in the domain/user link table. Like so...

<?php
$rsISAUTH = new WA_MySQLi_RS("rsISAUTH",$csdbmysqli,1);
$rsISAUTH->setQuery("SELECT linkuserdomID, domainID, userID FROM linkuserdom WHERE domainID = ? AND userID = ?");
$rsISAUTH->bindParam("i", "".(isset($_POST['dID'])?$_POST['dID']:"") ."", "-1"); //colname
$rsISAUTH->bindParam("i", "".(isset($_SESSION['userID'])?$_SESSION['userID']:"") ."", "-1"); //colname1
$rsISAUTH->execute();
?>



I can then show/hide content based on whether or not that recordset if empty, right?

Sign in to reply to this post

Ray BorduinWebAssist

I don't know your exact database structure, so I can't be certain about the exact SQL statement, but yes something like that should be possible where you create a recordset and just check if it has results or not.

Sign in to reply to this post
Did this help? Tips are appreciated...

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...